<SEC-DOCUMENT>0001437749-23-021971.txt : 20230803
<SEC-HEADER>0001437749-23-021971.hdr.sgml : 20230803
<ACCEPTANCE-DATETIME>20230803163540
ACCESSION NUMBER:		0001437749-23-021971
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		94
CONFORMED PERIOD OF REPORT:	20230630
FILED AS OF DATE:		20230803
DATE AS OF CHANGE:		20230803

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			APPLIED OPTOELECTRONICS, INC.
		CENTRAL INDEX KEY:			0001158114
		STANDARD INDUSTRIAL CLASSIFICATION:	SEMICONDUCTORS & RELATED DEVICES [3674]
		IRS NUMBER:				760533927
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		13139 JESS PIRTLE BLVD
		CITY:			SUGAR LAND
		STATE:			TX
		ZIP:			77478
		BUSINESS PHONE:		281-295-1800

	MAIL ADDRESS:	
		STREET 1:		13139 JESS PIRTLE BLVD
		CITY:			SUGAR LAND
		STATE:			TX
		ZIP:			77478

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	APPLIED OPTOELECTRONICS INC
		DATE OF NAME CHANGE:	20010824
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>aaoi20230630_10q.htm
<DESCRIPTION>FORM 10-Q
<TEXT>
<XBRL>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:us-types="http://fasb.org/us-types/2017-01-31" xmlns:srt-types="http://fasb.org/srt-types/2017-01-31" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2017-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:aaoi="http://ao-inc.com/20230630" xmlns:rr="http://xbrl.sec.gov/rr/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21">
 <head>
  <title>aaoi20230630_10q.htm</title>
  <!-- Generated by ThunderDome Portal - 8/3/2023 4:23:40 PM -->
  <meta http-equiv="Content-Type" content="text/html" /></head>
 <body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;"><div style="display: none;"><ix:header><ix:hidden>
<ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="dei:EntityCentralIndexKey" id="thunderdome-EntityCentralIndexKey">0001158114</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="dei:EntityRegistrantName" id="thunderdome-EntityRegistrantName">APPLIED OPTOELECTRONICS, INC.</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="dei:AmendmentFlag" format="ixt:booleanfalse">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric>
<ix:nonFraction id="c100824520" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">9</ix:nonFraction>
<ix:nonFraction id="c100824521" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">28</ix:nonFraction>
<ix:nonFraction id="c100824580" contextRef="i_2023-06-30" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="3" format="ixt:numdotdecimal" decimals="-6">45,000</ix:nonFraction>
<ix:nonFraction id="c100824581" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="3" format="ixt:numdotdecimal" decimals="-6">45,000</ix:nonFraction>
<ix:nonFraction id="c100824582" contextRef="i_2023-06-30" unitRef="USDPerShare" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.001</ix:nonFraction>
<ix:nonFraction id="c100824583" contextRef="i_2022-12-31" unitRef="USDPerShare" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.001</ix:nonFraction>
<ix:nonFraction id="c100824584" contextRef="i_2023-06-30" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="3" format="ixt:numdotdecimal" decimals="-3">31,785</ix:nonFraction>
<ix:nonFraction id="c100824586" contextRef="i_2023-06-30" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">31,785</ix:nonFraction>
<ix:nonFraction id="c100824585" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="3" format="ixt:numdotdecimal" decimals="-3">28,622</ix:nonFraction>
<ix:nonFraction id="c100824587" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">28,622</ix:nonFraction>
<ix:nonFraction id="c100825332" contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" unitRef="USD" name="us-gaap:LeaseCost" scale="6" format="ixt:numdotdecimal" decimals="-5">0.3</ix:nonFraction>
<ix:nonFraction id="c100825334" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" unitRef="USD" name="us-gaap:LeaseCost" scale="6" format="ixt:numdotdecimal" decimals="-5">0.6</ix:nonFraction>
<ix:nonFraction id="c100825563" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">0.2</ix:nonFraction>
<ix:nonFraction id="c100827760" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">0.3</ix:nonFraction>
<ix:nonFraction id="c100825693" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-4">27.780</ix:nonFraction>
<ix:nonFraction id="c100825694" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-4">27.780</ix:nonFraction>
<ix:nonFraction id="c100825695" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="5">9.663</ix:nonFraction>
<ix:nonFraction id="c100825696" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="5">9.663</ix:nonFraction>
<ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" name="us-gaap:DebtInstrumentMaturityDateRangeStart1" id="c100825697" format="ixt:datemonthdayyearen">December 14, 2023</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" name="us-gaap:DebtInstrumentMaturityDateRangeStart1" id="c100825698" format="ixt:datemonthdayyearen">December 14, 2023</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" name="us-gaap:DebtInstrumentMaturityDateRangeEnd1" id="c100825699" format="ixt:datemonthdayyearen">November 16, 2025</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" name="us-gaap:DebtInstrumentMaturityDateRangeEnd1" id="c100825700" format="ixt:datemonthdayyearen">November 16, 2025</ix:nonNumeric>
<ix:nonFraction id="c100825703" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-3">19,037</ix:nonFraction>
<ix:nonFraction id="c100825704" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-3">19,037</ix:nonFraction>
<ix:nonFraction id="c100825705" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">4.57</ix:nonFraction>
<ix:nonFraction id="c100825706" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">4.57</ix:nonFraction>
<ix:nonFraction id="c100825707" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">6.12</ix:nonFraction>
<ix:nonFraction id="c100825708" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">6.12</ix:nonFraction>
<ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember" name="us-gaap:DebtInstrumentMaturityDate" id="c100825709" format="ixt:datemonthdayyearen">May 24, 2024</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember" name="us-gaap:DebtInstrumentMaturityDate" id="c100825710" format="ixt:datemonthdayyearen">May 24, 2024</ix:nonNumeric>
<ix:nonFraction id="c100825713" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-3">26,651</ix:nonFraction>
<ix:nonFraction id="c100825714" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-3">26,651</ix:nonFraction>
<ix:nonFraction id="c100825715" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">4.45</ix:nonFraction>
<ix:nonFraction id="c100825716" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">4.45</ix:nonFraction>
<ix:nonFraction id="c100825717" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">6.6</ix:nonFraction>
<ix:nonFraction id="c100825718" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">6.6</ix:nonFraction>
<ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" name="us-gaap:DebtInstrumentMaturityDate" id="c100825719" format="ixt:datemonthdayyearen">June 6, 2027</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" name="us-gaap:DebtInstrumentMaturityDate" id="c100825720" format="ixt:datemonthdayyearen">June 6, 2027</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" name="us-gaap:DebtInstrumentTerm" id="c100825635" format="ixt-sec:duryear">3</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2019-05-24_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember" name="us-gaap:DebtInstrumentTerm" id="c100825642" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-06-07_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" name="us-gaap:DebtInstrumentTerm" id="c100825648" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="c100825881" format="ixt-sec:duryear">4</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="c100825882" format="ixt-sec:duryear">10</ix:nonNumeric>
<ix:nonFraction id="c100826097" contextRef="d_2022-04-01_2022-06-30" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" format="ixt:numdotdecimal" decimals="2">21</ix:nonFraction>
<ix:nonFraction id="c100826107" contextRef="d_2023-04-01_2023-06-30" unitRef="Pure" name="us-gaap:NumberOfReportableSegments" scale="0" format="ixt:numdotdecimal" decimals="INF">1</ix:nonFraction></ix:hidden>
<ix:references>
<link:schemaRef xlink:href="aaoi-20230630.xsd" xlink:type="simple"></link:schemaRef></ix:references>
<ix:resources>
<xbrli:context id="d_2023-01-01_2023-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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:unit id="Share"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2023-08-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-08-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="NonApplicable"><xbrli:measure>thunderdome:item</xbrli:measure></xbrli:unit>
<xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2023-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="USDPerShare"><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:context id="d_2023-04-01_2023-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-03-31_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-03-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2023-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</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="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</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="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2022-03-31_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</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="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</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="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aaoi:YuhanOptoelectronicTechnologyCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">aaoi:ManufacturingFacilitiesInPrcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-09-15</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aaoi:YuhanOptoelectronicTechnologyCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">aaoi:ManufacturingFacilitiesInPrcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-09-15</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aaoi:YuhanOptoelectronicTechnologyCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">aaoi:ManufacturingFacilitiesInPrcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-09-15</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-CATVMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</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="d_2022-04-01_2022-06-30_ProductOrServiceAxis-CATVMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-DataCenterMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</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="d_2022-04-01_2022-06-30_ProductOrServiceAxis-DataCenterMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-TelecomMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</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="d_2022-04-01_2022-06-30_ProductOrServiceAxis-TelecomMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-FTTHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</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="d_2022-04-01_2022-06-30_ProductOrServiceAxis-FTTHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</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="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-CATVMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</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="d_2022-01-01_2022-06-30_ProductOrServiceAxis-CATVMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-DataCenterMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</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="d_2022-01-01_2022-06-30_ProductOrServiceAxis-DataCenterMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-TelecomMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</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="d_2022-01-01_2022-06-30_ProductOrServiceAxis-TelecomMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-FTTHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</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="d_2022-01-01_2022-06-30_ProductOrServiceAxis-FTTHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</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="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="Year"><xbrli:measure>utr:Y</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">us-gaap:BankersAcceptanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">us-gaap:BankersAcceptanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementGeographicalAxis-CN"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementGeographicalAxis-CN"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">aaoi:GuaranteeDepositsForCustomsDutiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">aaoi:GuaranteeDepositsForCustomsDutiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</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="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</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="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">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="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">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="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</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="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</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="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">aaoi:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">aaoi:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_LongtermDebtTypeAxis-SeniorNotesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</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="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</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="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</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="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-16</xbrli:startDate><xbrli:endDate>2022-11-16</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-11-16</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_VariableRateAxis-SecuredOvernightFinancingRateSOFRMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">aaoi:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-16</xbrli:startDate><xbrli:endDate>2022-11-16</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2019-05-24_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:TheSPDCreditLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-05-24</xbrli:startDate><xbrli:endDate>2019-05-24</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="CNY"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:TheSPDCreditLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-05-24</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:TheSPDCreditLineMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-06-07_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-07</xbrli:startDate><xbrli:endDate>2022-06-07</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-07</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-05</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-05</xbrli:startDate><xbrli:endDate>2019-03-05</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2019-03-05_2019-03-05_DebtInstrumentAxis-CapExLoanAndTermLoanMember_LineOfCreditFacilityAxis-TruistBankMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:CapExLoanAndTermLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:TruistBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-05</xbrli:startDate><xbrli:endDate>2019-03-05</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</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="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</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="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</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="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">aaoi:ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember</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="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnSemiannualBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">aaoi:ExercisableOnSemiannualBasisMember</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="d_2022-01-01_2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember_VestingAxis-VestingOnTheThirdAnniversaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">aaoi:VestingOnTheThirdAnniversaryMember</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="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</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="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</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="d_2022-01-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_StatementGeographicalAxis-TW"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</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="d_2022-04-01_2022-06-30_StatementGeographicalAxis-TW"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_StatementGeographicalAxis-TW"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</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="d_2022-01-01_2022-06-30_StatementGeographicalAxis-TW"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-04-01_2023-06-30_StatementGeographicalAxis-CN"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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="d_2022-04-01_2022-06-30_StatementGeographicalAxis-CN"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-06-30_StatementGeographicalAxis-CN"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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="d_2022-01-01_2022-06-30_StatementGeographicalAxis-CN"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-06-30_StatementGeographicalAxis-TW"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementGeographicalAxis-TW"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">aaoi:LossContingencyObligationForSalesAndUseTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-09</xbrli:startDate><xbrli:endDate>2021-08-09</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-07-13_2023-07-13_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_SubsequentEventTypeAxis-SubsequentEventMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001158114</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-13</xbrli:startDate><xbrli:endDate>2023-07-13</xbrli:endDate></xbrli:period></xbrli:context></ix:resources>
</ix:header></div>
  <div>
    &#xa0;
  </div>
  <div>
    &#xa0;
  </div>
  <div><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<hr style="height: 3px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0" />
<hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 0 0 3pt 0" />
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>UNITED STATES</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>SECURITIES AND EXCHANGE COMMISSION</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>Washington, D.C. 20549</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>FORM <ix:nonNumeric name="dei:DocumentType" contextRef="d_2023-01-01_2023-06-30">10-Q</ix:nonNumeric>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">(Mark One)</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><ix:nonNumeric name="dei:DocumentQuarterlyReport" format="ixt-sec:boolballotbox" contextRef="d_2023-01-01_2023-06-30">&#x2612;</ix:nonNumeric> <b>QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>For the quarterly period ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" format="ixt:datemonthdayyearen" contextRef="d_2023-01-01_2023-06-30">June 30, 2023</ix:nonNumeric></b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>OR</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><ix:nonNumeric name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" contextRef="d_2023-01-01_2023-06-30">&#x2610;</ix:nonNumeric><b> TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>For the transition period from __________ to </b>__________</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>Commission File Number: <ix:nonNumeric name="dei:EntityFileNumber" contextRef="d_2023-01-01_2023-06-30">001-36083</ix:nonNumeric></b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>Applied Optoelectronics, Inc.</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(Exact name of registrant as specified in its charter)</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="font-family: Times New Roman; font-size: 10pt;"><td style="vertical-align: top; width: 50%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" contextRef="d_2023-01-01_2023-06-30">Delaware</ix:nonNumeric></b></p> </td><td style="vertical-align: top; width: 50%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="d_2023-01-01_2023-06-30">76-0533927</ix:nonNumeric></b></p> </td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt;"><td style="vertical-align: top; width: 50%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(State or other jurisdiction of incorporation or organization)</b></p> </td><td style="vertical-align: top; width: 50%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(I.R.S. Employer Identification No.)</b></p> </td></tr>
</tbody></table>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="d_2023-01-01_2023-06-30">13139 Jess Pirtle Blvd.</ix:nonNumeric></b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="d_2023-01-01_2023-06-30">Sugar Land</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="d_2023-01-01_2023-06-30">TX</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="d_2023-01-01_2023-06-30">77478</ix:nonNumeric></b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(Address of principal executive offices)</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(<ix:nonNumeric name="dei:CityAreaCode" contextRef="d_2023-01-01_2023-06-30">281</ix:nonNumeric>)&#xa0;<ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="d_2023-01-01_2023-06-30">295-1800</ix:nonNumeric></b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(Registrant&#x2019;s telephone number)</b></p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 23.1pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt 0pt 36.45pt; text-align: left;">Securities registered pursuant to Section 12(b) of the Act:</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="font-family: Times New Roman; font-size: 10pt;"><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 26.8%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">Title of each class</p> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 13.6%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">Trading Symbol(s)</p> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 59.7%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">Trading Name of each exchange on which registered</p> </td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt;"><td style="vertical-align: top; width: 26.8%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="d_2023-01-01_2023-06-30">Common Stock, Par value $0.001</ix:nonNumeric></p> </td><td style="vertical-align: top; width: 13.6%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="d_2023-01-01_2023-06-30">AAOI</ix:nonNumeric></p> </td><td style="vertical-align: top; width: 59.7%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><ix:nonNumeric name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" contextRef="d_2023-01-01_2023-06-30">NASDAQ</ix:nonNumeric> Global Market</p> </td></tr>
</tbody></table>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt; text-align: justify; text-indent: 23.1pt;">Indicate by check mark whether the registrant (1)&#xa0;has filed all reports required to be filed by Section&#xa0;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)&#xa0;has been subject to such filing requirements for the past 90 days.&#xa0; <ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="d_2023-01-01_2023-06-30">Yes</ix:nonNumeric>&#xa0;&#x2612;&#xa0;&#xa0;&#xa0; No&#xa0;&#x2610;&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt; text-align: justify; text-indent: 23.1pt;">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 (&#xa7; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#xa0;&#xa0;&#xa0;&#xa0; <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="d_2023-01-01_2023-06-30">Yes</ix:nonNumeric>&#xa0;&#x2612;&#xa0;&#xa0;&#xa0; No&#xa0;&#x2610;&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt; text-align: justify; text-indent: 23.1pt;">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 &#x201c;large accelerated filer,&#x201d; &#x201c;accelerated filer,&#x201d; &#x201c;smaller reporting company,&#x201d; and &#x201c;emerging growth company&#x201d; in Rule 12b-2 of the Exchange Act.</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="font-family: Times New Roman; font-size: 10pt;"><td style="vertical-align: bottom; width: 1.7%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p> </td><td style="vertical-align: bottom; width: 39.5%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">Large&#xa0;accelerated&#xa0;filer</p> </td><td style="vertical-align: bottom; width: 5.5%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x2610;&#xa0;</p> </td><td style="vertical-align: bottom; width: 48%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">Accelerated&#xa0;filer</p> </td><td style="vertical-align: bottom; width: 5.3%; font-family: Times New Roman; font-size: 10pt;">&#x2610;</td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt;"><td style="vertical-align: bottom; width: 1.7%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p> </td><td style="vertical-align: bottom; width: 39.5%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><ix:nonNumeric name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" contextRef="d_2023-01-01_2023-06-30">Non-accelerated filer</ix:nonNumeric></p> </td><td style="vertical-align: bottom; width: 5.5%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x2612;&#xa0;</p> </td><td style="vertical-align: bottom; width: 48%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">Smaller&#xa0;reporting&#xa0;company</p> </td><td style="vertical-align: bottom; width: 5.3%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><ix:nonNumeric name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" contextRef="d_2023-01-01_2023-06-30">&#x2612;</ix:nonNumeric>&#xa0;</p> </td></tr>
<tr style="font-family: Times New Roman; font-size: 10pt;"><td style="vertical-align: bottom; width: 1.7%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p> </td><td style="vertical-align: bottom; width: 39.5%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="vertical-align: bottom; width: 5.5%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="vertical-align: bottom; width: 48%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">Emerging growth company</p> </td><td style="vertical-align: bottom; width: 5.3%; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" contextRef="d_2023-01-01_2023-06-30">&#x2610;</ix:nonNumeric></p> </td></tr>
</tbody></table>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt; text-align: justify; text-indent: 23.1pt;">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. &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#x2610;&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt; text-align: justify; text-indent: 23.1pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0; Yes&#xa0;<ix:nonNumeric name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" contextRef="d_2023-01-01_2023-06-30">&#x2610;</ix:nonNumeric>&#xa0;&#xa0;No&#xa0;&#x2612;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 14.7pt; text-align: justify; text-indent: 23.05pt;">As of August 1, 2023&#xa0;there were <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" scale="0" unitRef="Share" decimals="INF" format="ixt:numdotdecimal" contextRef="i_2023-08-01">32,128,847</ix:nonFraction>&#xa0;shares of the registrant&#x2019;s Common Stock outstanding.</p>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
 <div class="PGFTR" style="text-align: center; width: 100%">
  <div class="hf-row">
   <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
    1
   </div>
  </div>
 </div>
 <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
 <div class="PGHDR" style="text-align: left; width: 100%">
  <div class="hf-row">
   <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
    <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
   </div>
  </div>
 </div>
</div>
<p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p></div>
  <div>
    &#xa0;
  </div>
  <div>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Applied Optoelectronics, Inc.</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="toc" title="toc" href="#"></a>Table of Contents</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#x200b;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
    <tbody>
     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;border-bottom:solid 1px #000000;;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Page</p> </td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:top;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"><a href="#part1" style="-sec-extract:exhibit;"><b>Part I. Financial Information</b></a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 1.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item1" style="-sec-extract:exhibit;">Condensed Consolidated Financial Statements (Unaudited)</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#item1">3</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#bs" style="-sec-extract:exhibit;">Condensed Consolidated Balance Sheets as of June 30, 2023 (Unaudited) and December 31, 2022</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#bs">3</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#ops" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Operations for the Three and Six Months ended June 30, 2023 and 2022 (Unaudited)</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#ops">4</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#compincome" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Comprehensive Income (Loss) for the Three and Six Months ended June 30, 2023 and 2022 (Unaudited)</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#compincome">5</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#eq" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Stockholders&#x2019; Equity for the Three and Six Months ended June 30, 2023 and 2022 (Unaudited)</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#eq">6</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#cf" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Cash Flows for the Six Months ended June 30, 2023 and 2022 (Unaudited)</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#cf">8</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#notes" style="-sec-extract:exhibit;">Notes To Condensed Consolidated Financial Statements (Unaudited)</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#notes">9</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 2.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item2" style="-sec-extract:exhibit;">Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#item2">20</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 3.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item3" style="-sec-extract:exhibit;">Quantitative and Qualitative Disclosures About Market Risk</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#item3">28</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 4.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item4" style="-sec-extract:exhibit;">Controls and Procedures</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#item4">28</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p> </td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:top;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"><a href="#part2" style="-sec-extract:exhibit;"><b>Part II. Other Information</b></a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 1.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#legal" style="-sec-extract:exhibit;">Legal Proceedings</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#legal">28</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 1A.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#risk" style="-sec-extract:exhibit;">Risk Factors</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#risk">28</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">Item 5</td>
      <td style="vertical-align:top;width:86.8%;">Other Information</td>
      <td style="vertical-align: top; width: 4.9%; text-align: right;">27</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Item 6.</p> </td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#exhibits" style="-sec-extract:exhibit;">Exhibits</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#exhibits">29</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;">&#xa0;</td>
      <td style="vertical-align:top;width:4.9%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:8.4%;">&#xa0;</td>
      <td style="vertical-align:top;width:86.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#sigs" style="-sec-extract:exhibit;">Signatures</a></p> </td>
      <td style="vertical-align:top;width:4.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"><a class="tocPGNUM" href="#sigs">30</a></p> </td>
     </tr>

    </tbody>
   </table>
   <p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
        2
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </div>
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  </div>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="part1" title="part1" href="#"></a>Part I. Financial Information</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item1" title="item1" href="#"></a>Item 1. Condensed Consolidated Financial Statements</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="bs" title="bs" href="#"></a>Applied Optoelectronics, Inc. and Subsidiaries</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CONDENSED CONSOLIDATED BALANCE SHEETS</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Unaudited, in thousands)</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#x200b;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">ASSETS</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current Assets</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100824513" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">21,578</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824514" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">24,685</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824515" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,034</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824516" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">10,902</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable - trade, net of allowance of $<span style="-sec-ix-hidden:c100824520">9</span> and $<span style="-sec-ix-hidden:c100824521">28</span>, respectively</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824517" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">42,598</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824518" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">61,175</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Notes receivable</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824522" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:NotesAndLoansReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">782</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824524" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:NotesAndLoansReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">339</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventories</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824525" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">66,321</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824526" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">79,679</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Prepaid income tax</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100824527" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:PrepaidTaxes" scale="3" format="ixt:numdotdecimal" decimals="-3">2</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100824528" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PrepaidTaxes" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Prepaid expenses and other current assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824530" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">6,231</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824531" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">6,384</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total current assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824533" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">144,546</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824534" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">183,164</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant and equipment, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824535" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">197,879</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824536" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">210,184</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Land use rights, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824537" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:IndefiniteLivedContractualRights" scale="3" format="ixt:numdotdecimal" decimals="-4">4,990</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824538" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:IndefiniteLivedContractualRights" scale="3" format="ixt:numdotdecimal" decimals="-3">5,238</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating right of use asset</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824539" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">5,296</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824540" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">5,566</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financing right of use asset</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824541" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-4">10</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824542" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">26</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intangible assets, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824543" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,625</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824544" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,699</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other assets, net</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824545" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:OtherAssetsNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">531</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824546" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OtherAssetsNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">386</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">TOTAL ASSETS</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824547" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">356,877</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824548" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">408,263</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">LIABILITIES AND STOCKHOLDERS' EQUITY</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current liabilities</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824551" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccountsPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">35,111</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824552" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccountsPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">47,845</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Bank acceptance payable</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824553" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:BankAcceptancesExecutedAndOutstandingCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">8,637</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824554" contextRef="i_2022-12-31" unitRef="USD" name="aaoi:BankAcceptancesExecutedAndOutstandingCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">12,337</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824555" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">14,702</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824556" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">17,222</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Unearned revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824557" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">10,720</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824558" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-6">3,000</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current lease liability - operating</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824559" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,055</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824560" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,041</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current lease liability - financing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824561" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">53</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824562" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">63</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current portion of notes payable and long-term debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824563" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:NotesPayableAndLongtermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">37,276</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824564" contextRef="i_2022-12-31" unitRef="USD" name="aaoi:NotesPayableAndLongtermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">57,074</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current portion of Convertible senior notes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c100824565" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ConvertibleDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">79,916</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c100824566" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ConvertibleDebtCurrent" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total current liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824567" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">187,470</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824568" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">138,582</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Unearned revenue, Net of Current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100824569" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-6">1,000</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100824570" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-current lease liability - operating</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824571" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">5,148</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824572" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">5,505</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom" class="GFJY4-DFU-com-rdg-thunderdome-client-resources-CssResource-html-lineItem-v2v-addition"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Convertible senior notes</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824573" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ConvertibleLongTermNotesPayable" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824574" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ConvertibleLongTermNotesPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">79,506</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">TOTAL LIABILITIES</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824575" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:Liabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">193,618</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824576" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Liabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">223,593</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Stockholders' equity:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Common Stock; <span style="-sec-ix-hidden:c100824580"><span style="-sec-ix-hidden:c100824581">45,000</span></span> shares authorized at $<span style="-sec-ix-hidden:c100824582"><span style="-sec-ix-hidden:c100824583">0.001</span></span> par value; <span style="-sec-ix-hidden:c100824584"><span style="-sec-ix-hidden:c100824586">31,785</span></span> and <span style="-sec-ix-hidden:c100824585"><span style="-sec-ix-hidden:c100824587">28,622</span></span> shares issued and outstanding at June 30, 2023 and December 31, 2022, respectively</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824578" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:CommonStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">32</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824579" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CommonStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">29</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Additional paid-in capital</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824588" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AdditionalPaidInCapital" scale="3" format="ixt:numdotdecimal" decimals="-3">407,003</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824589" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AdditionalPaidInCapital" scale="3" format="ixt:numdotdecimal" decimals="-3">391,526</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accumulated other comprehensive income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824590" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">1,470</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824591" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,183</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accumulated deficit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824592" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">242,306</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824593" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">209,068</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">TOTAL STOCKHOLDERS' EQUITY</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824594" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">163,259</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824595" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">184,670</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824596" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">356,877</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824597" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">408,263</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p>
  <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><i>The accompanying notes are an integral part of these condensed consolidated financial statements.</i><b>&#x200b;</b></p>
  <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       3
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="ops" title="ops" href="#"></a>Applied Optoelectronics, Inc. and Subsidiaries</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Unaudited, in thousands, except share and per share data)</b></p>
  <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue, net</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824606" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">41,615</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824607" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">52,299</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824608" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">94,645</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824609" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">104,540</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824610" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">33,717</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824611" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">43,671</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824612" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">77,503</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824613" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">86,888</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824614" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">7,898</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824615" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">8,628</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824616" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">17,142</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824617" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">17,652</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating expenses</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824619" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">8,640</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824620" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">8,328</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824621" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">17,176</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824622" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">17,814</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824623" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,269</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824624" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,164</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824625" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,596</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824626" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,722</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824627" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">12,954</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824628" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">11,035</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824629" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">25,502</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824630" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">22,254</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total operating expenses</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824631" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">23,863</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824632" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">21,527</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824633" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">47,274</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824634" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-4">44,790</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Loss from operations</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824635" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">15,965</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824636" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,899</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824637" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,132</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824638" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">27,138</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense)</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest income</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824640" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:InvestmentIncomeInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">37</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824641" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:InvestmentIncomeInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">31</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824642" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:InvestmentIncomeInterest" scale="3" format="ixt:numdotdecimal" decimals="-4">70</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824643" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InvestmentIncomeInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">59</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824644" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,175</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824645" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,408</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824646" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,312</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824647" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">2,810</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other expense, net</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824648" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,167</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824649" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">180</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824650" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,145</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824651" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">629</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other income (expense), net</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824652" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">971</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824653" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,557</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824654" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,097</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824655" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">3,380</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Loss before income taxes</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824656" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">16,936</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824657" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,456</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824658" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,229</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824659" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Income tax expense</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c100824660" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">8</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100824661" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c100824662" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">8</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100824663" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824664" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">16,944</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824665" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,456</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824666" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,237</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824667" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss per share</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824669" contextRef="d_2023-04-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.57</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824670" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.52</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824671" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.14</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824672" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.11</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824673" contextRef="d_2023-04-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.57</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824674" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.52</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824675" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.14</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824676" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.11</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average shares used to compute net loss per share:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824678" contextRef="d_2023-04-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">29,488,561</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824679" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">27,612,315</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824680" contextRef="d_2023-01-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">29,181,913</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824681" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">27,537,048</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824682" contextRef="d_2023-04-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">29,488,561</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824683" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">27,612,315</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824684" contextRef="d_2023-01-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">29,181,913</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100824685" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">27,537,048</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>The accompanying notes are an integral part of these condensed consolidated financial statements.</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       4
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="compincome" title="compincome" href="#"></a>Applied Optoelectronics, Inc. and Subsidiaries</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Unaudited, in thousands)</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#x200b;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824694" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">16,944</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824695" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,456</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824696" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,237</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100824697" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Loss on foreign currency translation adjustment</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824698" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,293</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824699" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7,583</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824700" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,654</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824701" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">8,845</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Comprehensive loss</p> </td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824702" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">22,237</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824703" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">22,039</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824704" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">36,891</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824705" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">39,363</ix:nonFraction></td>
      <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>The accompanying notes are an integral part of these condensed consolidated financial statements.</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       5
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="eq" title="eq" href="#"></a>Applied Optoelectronics, Inc. and Subsidiaries</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#x2019; EQUITY </b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Three and Six Months ended June 30, 2023 and 2022</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Unaudited, in thousands)</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Preferred Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Common Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; width: 0%; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Additional</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; width: 0%; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">other</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; width: 0%; padding: 0px;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; width: 0%; padding: 0px;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">paid-in</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">comprehensive</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Stockholders'</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">capital</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">gain (loss)</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">deficit</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">equity</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">March 31, 2023</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824738" contextRef="i_2023-03-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824739" contextRef="i_2023-03-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824740" contextRef="i_2023-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">29,072</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824741" contextRef="i_2023-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">29</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824742" contextRef="i_2023-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">394,148</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824743" contextRef="i_2023-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">3,823</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824744" contextRef="i_2023-03-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">225,362</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824745" contextRef="i_2023-03-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">172,638</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Issuance of restricted stock, net of shares withheld for employee tax</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824747" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824748" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824750" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">215</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824751" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824753" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">83</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824754" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824756" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824757" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">83</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Share-based compensation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824760" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824763" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824765" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">3,062</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824766" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824768" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824769" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">3,062</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Public offering of common stock, net</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824770" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824771" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824772" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">2,498</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824773" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824774" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">9,876</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824775" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824776" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824777" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">9,879</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Foreign currency translation adjustment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824779" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824781" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824782" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824783" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,293</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824784" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824785" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,293</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824787" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824789" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824790" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824791" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824792" contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">16,944</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824793" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">16,944</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">June 30, 2023</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824794" contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824795" contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824796" contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">31,785</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824797" contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">32</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824798" contextRef="i_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">407,003</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824799" contextRef="i_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">1,470</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824800" contextRef="i_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">242,306</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824801" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">163,259</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
   <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#x200b;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Preferred Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Common Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Additional</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">other</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b>&#x200b;</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">paid-in</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">comprehensive</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Stockholders'</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">capital</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">gain (loss)</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">deficit</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">equity</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">March 31, 2022</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824834" contextRef="i_2022-03-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824835" contextRef="i_2022-03-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824836" contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-4">27,530</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824837" contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">28</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824838" contextRef="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">383,474</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824839" contextRef="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">14,809</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824840" contextRef="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">158,735</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824841" contextRef="i_2022-03-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">239,576</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">Issuance of restricted stock, net of shares withheld for employee tax</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824843" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824844" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824846" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">128</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824847" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">(87</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">(87</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">Share-based compensation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824850" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824853" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824855" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">2,144</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824857" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824859" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824861" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">2,144</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">Foreign currency translation adjustment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824865" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824869" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824870" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824871" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7,583</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824872" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824873" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7,583</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">Net loss</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824875" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824877" contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">(14,456</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">(14,456</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin: 0pt;">June 30, 2022</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824878" contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824879" contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824880" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">27,658</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824881" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">28</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824882" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">385,531</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824883" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">7,226</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824884" contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">173,191</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824885" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">219,594</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       6
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Preferred Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Common Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Additional</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">other</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">paid-in</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">comprehensive</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Stockholders'</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">capital</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">gain (loss)</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">deficit</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">equity</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">January 1, 2023</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824930" contextRef="i_2022-12-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824931" contextRef="i_2022-12-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824932" contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">28,623</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824933" contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">29</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824934" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">391,526</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824935" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">2,183</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824936" contextRef="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">209,068</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824937" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">184,670</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Issuance of restricted stock, net of shares withheld for employee tax</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824938" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824939" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824940" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">507</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824941" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824942" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">159</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824943" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824944" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100824945" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">159</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Share-based compensation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824947" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824949" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824950" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,352</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824951" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824952" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824953" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,352</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Public offering of common stock, net</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824954" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824955" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824956" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">2,655</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824957" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824958" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">10,284</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824959" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824960" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100824961" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" format="ixt:numdotdecimal" decimals="-3">10,287</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign currency translation adjustment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0"><ix:nonFraction id="c100824963" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0"><ix:nonFraction id="c100824965" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0"><ix:nonFraction id="c100824966" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">(<ix:nonFraction id="c100824967" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,653</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">(<ix:nonFraction id="c100824968" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">(<ix:nonFraction id="c100824969" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,654</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824971" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824973" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824974" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100824975" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824976" contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,237</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100824977" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,237</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">June 30, 2023</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824978" contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824979" contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824980" contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">31,785</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824981" contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">32</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824982" contextRef="i_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">407,003</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824983" contextRef="i_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">1,470</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100824984" contextRef="i_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">242,306</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100824985" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">163,259</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Preferred Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Common Stock</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Additional</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">other</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Number</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">paid-in</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">comprehensive</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Retained</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Stockholders'</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">of shares</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">capital</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">gain (loss)</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">earnings</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">equity</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">January 1, 2022</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825018" contextRef="i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825019" contextRef="i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825020" contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">27,323</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825021" contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">27</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825022" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">381,143</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825023" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">16,071</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100825024" contextRef="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">142,671</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825025" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">254,570</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Issuance of restricted stock, net of shares withheld for employee tax</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825027" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825028" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825030" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">335</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825031" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">(228</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><em style="font: inherit;">(227</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Share-based compensation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825034" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825037" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825039" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">4,616</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825041" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825043" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;"><ix:nonFraction id="c100825045" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">4,616</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Foreign currency translation adjustment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825049" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825053" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825054" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100825055" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">8,845</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right;">(<ix:nonFraction id="c100825056" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">(<ix:nonFraction id="c100825057" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">8,847</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825059" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">&#x2014;</em></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825061" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825063" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825065" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825067" contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825069" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; font-variant: normal; margin: 0pt;">June 30, 2022</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825071" contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825073" contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825075" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">27,658</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825077" contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">28</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825078" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">385,531</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825079" contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">7,226</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100825080" contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">173,191</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; padding-bottom: 3px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825081" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">219,594</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 9pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>The accompanying notes are an integral part of these condensed consolidated financial statements.</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       7
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b><a id="cf" title="cf" href="#"></a>Applied Optoelectronics, Inc. and Subsidiaries</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Unaudited, in thousands)</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#x200b;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating activities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net loss</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px;">$</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825087" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,237</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">$</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825088" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 9pt;">Adjustments to reconcile net loss to net cash used in operating activities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Allowance of bad debt</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825090" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">19</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825091" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Inventory reserve adjustment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825092" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:InventoryLIFOReservePeriodCharge" scale="3" format="ixt:numdotdecimal" decimals="-3">5,028</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825093" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InventoryLIFOReservePeriodCharge" scale="3" format="ixt:numdotdecimal" decimals="-3">2,403</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Depreciation and amortization</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825094" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:DepreciationAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">10,522</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825095" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:DepreciationAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">11,995</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Amortization of debt issuance costs</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825096" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:AmortizationOfFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">614</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825097" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AmortizationOfFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">425</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Gain (loss) on disposal of assets</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825098" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825099" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3">35</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Share-based compensation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825100" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">5,352</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825101" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">4,616</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Unrealized foreign exchange (gain) loss</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825102" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,147</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825103" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,366</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Changes in operating assets and liabilities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Accounts receivable, trade</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825105" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">18,596</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825106" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">5,938</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Trade Notes receivable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825107" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInNotesReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">488</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825108" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInNotesReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7,911</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Prepaid income tax</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825109" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInPrepaidTaxes" scale="3" format="ixt:numdotdecimal" decimals="-3">2</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825110" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInPrepaidTaxes" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Inventories</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825111" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">6,980</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825112" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-4">11,530</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Other current assets</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825113" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">97</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825114" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">2,118</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Operating right of use asset</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825115" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInOperatingRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">204</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825116" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInOperatingRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">477</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Accounts payable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825117" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,735</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825118" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">10,965</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Accrued liabilities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825119" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,358</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825120" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">2,730</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Accrued Income Tax</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825121" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825122" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Unearned revenue</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825123" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" format="ixt:numdotdecimal" decimals="-4">8,720</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825124" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Lease liability</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825125" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInOperatingAndFinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">265</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825126" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInOperatingAndFinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">511</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net cash provided by (used in) operating activities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825127" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">5,868</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825128" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">1,350</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Investing activities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Purchase of property, plant and equipment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825130" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-4">1,460</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825131" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">1,669</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Proceeds from disposal of equipment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825132" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">66</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825133" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">118</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Deposits and prepaid for equipment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825134" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:PaymentsForProceedsFromOtherDeposits" scale="3" format="ixt:numdotdecimal" decimals="-3">265</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825135" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsForProceedsFromOtherDeposits" scale="3" format="ixt:numdotdecimal" decimals="-3">214</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Purchase of intangible assets</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825136" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquireIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">251</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825137" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsToAcquireIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">245</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net cash (used in) investing activities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825138" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">1,910</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825139" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">2,010</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Financing activities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Principal payments of long-term debt and notes payable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825141" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825142" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="aaoi:RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">7,336</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Proceeds from line of credit borrowings</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825143" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-3">45,343</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825144" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-3">76,903</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Repayments of line of credit borrowings</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825145" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-3">63,981</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825146" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-3">69,988</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Proceeds from bank acceptance payable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825147" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ProceedsFromBankDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">27,813</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825148" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromBankDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">19,951</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Repayments of bank acceptance payable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825149" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:RepaymentsOfBankDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">31,079</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825150" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RepaymentsOfBankDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">17,292</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Principal payments of financing lease</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825151" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-4">10</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825152" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">9</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Payments of tax withholding on behalf of employees related to share-based compensation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825153" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">159</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825154" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">227</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Proceeds from common stock offering, net</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825155" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">10,287</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825156" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net cash (used in) provided by financing activities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825157" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">11,786</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825158" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">2,002</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Effect of exchange rate changes on cash</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825159" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">853</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825160" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">872</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net decrease in cash, cash equivalents and restricted cash</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825161" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">6,975</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825162" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">486</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Cash, cash equivalents and restricted cash at beginning of period</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825163" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">35,587</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825164" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">41,136</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Cash, cash equivalents and restricted cash at end of period</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px;">$</td>
      <td style="width: 12%; padding: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825165" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">28,612</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">$</td>
      <td style="width: 12%; padding: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right; border-top: 1px solid rgb(0, 0, 0); border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825166" contextRef="i_2022-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-4">40,650</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Supplemental disclosure of cash flow information:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Interest, net of amounts capitalized</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px;">$</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825169" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,611</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">$</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825170" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">2,616</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Non-cash investing and financing activities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net change in accounts payable related to property and equipment additions</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825172" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" scale="3" format="ixt:numdotdecimal" decimals="-3">85</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825173" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">291</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="margin: 0pt; text-indent: 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Net change in deposits and prepaid for equipment related to property and equipment additions</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;">(<ix:nonFraction id="c100825174" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">92</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0px; text-align: right;"><ix:nonFraction id="c100825175" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="aaoi:IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" scale="3" format="ixt:numdotdecimal" decimals="-3">41</ix:nonFraction></td>
      <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

    </tbody>
   </table>
   <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>The accompanying notes are an integral part of these condensed consolidated financial statements.</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       8
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="notes" title="notes" href="#"></a>Applied Optoelectronics, Inc. and Subsidiaries</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Unaudited)</b></p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" id="c2429999" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Note <em style="font: inherit;">1.</em> &#xa0; Description of Business&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Business Overview</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#x200b;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Applied Optoelectronics, Inc. (&#x201c;AOI&#x201d; or the &#x201c;Company&#x201d;) is a Delaware corporation. The Company is a leading, vertically integrated provider of fiber-optic networking products, primarily for <em style="font: inherit;">four</em> networking end-markets: cable television ("CATV"),&#xa0;internet data center, telecommunications ("telecom")&#xa0;and fiber-to-the-home ("FTTH"). The Company designs and manufactures a wide range of optical communications products at varying levels of integration, from components, subassemblies and modules to complete turn-key equipment.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The Company has manufacturing and research and development facilities located in the U.S., Taiwan and China. In the U.S., at its corporate headquarters and manufacturing facilities in Sugar Land, Texas, the Company primarily manufactures lasers and laser components and performs research and development activities for laser component and optical module products. In addition, the Company also has a research and development facility in Duluth, Georgia. The Company operates in Taipei, Taiwan and Ningbo, China through its wholly-owned subsidiary Prime World International Holdings, Ltd. (&#x201c;Prime World&#x201d;, incorporated in the British Virgin Islands). Prime World operates a branch in Taipei, Taiwan, which primarily manufactures transceivers and performs research and development activities for the transceiver products. Prime World is also the parent of Global Technology, Inc. (&#x201c;Global&#x201d;, incorporated in the People&#x2019;s Republic of China). Through Global, the Company primarily manufactures certain of its data center transceiver products, including subassemblies, as well as CATV systems and equipment, and performs research and development activities for the CATV products.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Interim Financial Statements</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#x200b;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The unaudited condensed consolidated financial statements of the Company as of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em> and for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> June 30, 2022</em>, have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) for interim information and with the instructions on Form <em style="font: inherit;">10</em>-Q and Rule <em style="font: inherit;">10</em>-<em style="font: inherit;">01</em> of Regulation S-<em style="font: inherit;">X</em> pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;). In accordance with those rules and regulations, the Company has omitted certain information and notes required by GAAP for annual consolidated financial statements. In the opinion of management, the condensed consolidated financial statements contain all adjustments, except as otherwise noted, necessary for the fair presentation of the Company&#x2019;s financial position and results of operations for the periods presented. The year-end condensed balance sheet data was derived from audited financial statements. These condensed consolidated financial statements should be read in conjunction with the Consolidated Financial Statements and Notes thereto included in the Company&#x2019;s Annual Report on Form <em style="font: inherit;">10</em>-K (&#x201c;Annual Report&#x201d;) for the fiscal year ended <em style="font: inherit;"> December 31, 2022</em>. The results of operations for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em> are <em style="font: inherit;">not</em> necessarily indicative of the results expected for the entire fiscal year. All significant inter-company accounts and transactions have been eliminated.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Use of Estimates</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts reported. Actual results could differ from those estimates in the consolidated financial statement<span style="background-color:#ffffff;">s and accompanying notes. Significant estimates and assumptions that impact these financial statements and the accompanying notes relate to, among other things,&#xa0;allowance for doubtful accounts, inventory reserve, impairment of long-lived assets, service and product warranty costs, share-based compensation expense, estimated useful lives of property and equipment, and taxes.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;"><i>Divestiture Agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">On <em style="font: inherit;"> September 15, 2022, </em>the Company entered into a definitive purchase agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd ("Purchaser"), which is a company incorporated in the People's Republic of China ("PRC"), to divest the Company's manufacturing facilities in PRC and certain assets related to its transceiver business and multi-channel optical sub-assembly products (collectively, the "Divestiture"). The closing of the transaction&#xa0;is subject to the satisfaction of certain closing conditions, including the approval from the Committee&#xa0;on Foreign Investment in the United States ("CFIUS").&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">The purchase price will be an amount equal to the $<ix:nonFraction id="c100825188" contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember" unitRef="USD" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration" scale="6" format="ixt:numdotdecimal" decimals="-7">150</ix:nonFraction> million USD equivalent of Renminbi, less a holdback amount.&#xa0;Prior to the closing of the transaction the Company anticipates investing an amount equal to between <ix:nonFraction id="c100825189" contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MinimumMember" unitRef="Pure" name="aaoi:PercentageOfEstimatedProceedsFromDivestitureOfBusiness" scale="-2" format="ixt:numdotdecimal" decimals="2">4</ix:nonFraction>% and <ix:nonFraction id="c100825190" contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MaximumMember" unitRef="Pure" name="aaoi:PercentageOfEstimatedProceedsFromDivestitureOfBusiness" scale="-2" format="ixt:numdotdecimal" decimals="1">10</ix:nonFraction>% of the estimated proceeds from the transaction in exchange for a <ix:nonFraction id="c100825191" contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember" unitRef="Pure" name="aaoi:BusinessDivestiturePercentageOfEquityInterestsExchanged" scale="-2" format="ixt:numdotdecimal" decimals="1">10</ix:nonFraction>% equity interest in the Purchaser.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">Our management has performed an evaluation as required by ASC-<em style="font: inherit;">360</em>-<em style="font: inherit;">10</em>-<em style="font: inherit;">45</em>-<em style="font: inherit;">9</em> to determine whether to classify certain of our assets and liabilities as held for sale as of&#xa0;&#xa0;<em style="font: inherit;"> June 30, 2023</em>. ASC <em style="font: inherit;">360</em> requires that a company classifies a business as held for sale in the period in which management commits to a plan to sell the business, the business is available for immediate sale in its present condition, an active program to complete the plan to sell the business is initiated, the sale of the business within <em style="font: inherit;">one</em> year is probable and the business is being marketed at a reasonable price in relation to its fair value. Although we have announced the execution of a definitive purchase agreement regarding the Divestiture, completion of this transaction is <em style="font: inherit;">not</em> certain for reasons that include the fact that the proposed sale is subject to regulatory approval in the US and China, the timing and likelihood of which is uncertain and beyond our control, and the fact that we cannot be certain that the buyer will <em style="font: inherit;">not</em> request modification of terms within the definitive purchase agreement. As a result, we have concluded that at the present time the business is <em style="font: inherit;">not</em> "available for immediate sale" under the meaning defined in ASC <em style="font: inherit;">360</em> and therefore <em style="font: inherit;">none</em> of our assets or liabilities should be classified as held for sale.</p>
   <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">9</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="c2430000" escape="true">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">2.</em>&#xa0; Significant Accounting Policies</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">There have been <em style="font: inherit;">no</em> changes in the Company&#x2019;s significant accounting policies for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em>, as compared to the significant accounting policies described in its <em style="font: inherit;">2022</em> Annual Report.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"></p><ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="c100827669" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Recent Accounting Pronouncements</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"><span style="background-color:#ffffff;">&#x200b;</span><i><span style="background-color:#ffffff;">&#x200b;</span></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">Recent Accounting Pronouncements Yet to be Adopted</span></i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">To date, there have been&#xa0;<em style="font: inherit;">no</em>&#xa0;recent accounting</span> pronouncement&#xa0;<em style="font: inherit;">not</em>&#xa0;yet effective that have significance, or potential significance, to our Consolidated Financial Statements.&#xa0;</p></ix:nonNumeric><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"></p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="c2430001" escape="true">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">3.</em>&#xa0; Revenue Recognition</b></p>
   <p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>&#x200b;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>Disaggregation of Revenue</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">Revenue is classified based on the location where the product is manufactured. For additional information on the disaggregated revenues by geographical region, see Note <em style="font: inherit;">17,</em> "Geographic Information.&#x201d;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">Revenue is also classified by major product category and is presented below (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="B8CA7F81-D258-46FD-B262-96AFE5C3022F" escape="true" continuedAt="c2BD6A25C-009C-4E6A-B65D-05FB0E385DC8">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825266" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-CATVMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">9,343</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825267" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-CATVMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">22.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825268" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-CATVMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">23,713</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825269" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-CATVMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">45.3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825270" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">27,571</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825271" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">66.2</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825272" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">21,497</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825273" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">41.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825274" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-TelecomMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,231</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825275" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-TelecomMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">10.2</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825276" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-TelecomMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">6,276</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825277" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-TelecomMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="2">12.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825278" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-FTTHMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">55</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825279" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-FTTHMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">0.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825280" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-FTTHMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">27</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825281" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-FTTHMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">0.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825282" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">415</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825283" contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="2">1.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825284" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">786</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825285" contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">1.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825286" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">41,615</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825287" contextRef="d_2023-04-01_2023-06-30" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="0">100.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825288" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">52,299</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825289" contextRef="d_2022-04-01_2022-06-30" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="0">100.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <ix:continuation id="c2BD6A25C-009C-4E6A-B65D-05FB0E385DC8">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825302" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-CATVMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">37,123</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825303" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-CATVMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">39.2</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825304" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-CATVMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">48,694</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825305" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-CATVMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">46.6</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825306" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">47,924</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825307" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">50.6</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825308" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">42,911</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825309" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-DataCenterMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="2">41.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825310" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-TelecomMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">7,938</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825311" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-TelecomMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">8.4</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825312" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-TelecomMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">11,541</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825313" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-TelecomMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="2">11.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825314" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-FTTHMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">57</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825315" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-FTTHMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">0.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825316" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-FTTHMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">124</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825317" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-FTTHMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">0.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825318" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,603</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825319" contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">1.7</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825320" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">1,270</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825321" contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="3">1.3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825322" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">94,645</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825323" contextRef="d_2023-01-01_2023-06-30" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="0">100.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825324" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">104,540</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825325" contextRef="d_2022-01-01_2022-06-30" unitRef="Pure" name="aaoi:PercentageOfRevenue" scale="-2" format="ixt:numdotdecimal" decimals="0">100.0</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>Unearned Revenue</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">We record unearned revenues when cash payments are received or due in advance of our performance, including amounts which are refundable. Unearned revenues solely relate to Microsoft's SOW contract prices allocated to the performance obligations that are unsatisfied, or partially unsatisfied, as of the balance sheet date. Unearned revenue balance as of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>&#xa0;was $<ix:nonFraction id="c100825243" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="6" format="ixt:numdotdecimal" decimals="-5">11.7</ix:nonFraction> million&#xa0;and $<ix:nonFraction id="c100825244" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="6" format="ixt:numdotdecimal" decimals="-6">3</ix:nonFraction> million, respectively. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, revenue recognized from the unearned revenue balance&#xa0;wa<span style="background-color:#ffffff">s $<ix:nonFraction id="c100825247" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" format="ixt:numdotdecimal" decimals="-5">0.9</ix:nonFraction>&#xa0;million </span>and $<ix:nonFraction id="c100825248" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>&#xa0;million, respectively. For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, revenue recognized from the unearned revenue balance&#xa0;wa<span style="background-color:#ffffff">s $<ix:nonFraction id="c100825251" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" format="ixt:numdotdecimal" decimals="-5">1.2</ix:nonFraction>&#xa0;million </span>and $<ix:nonFraction id="c100825252" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>&#xa0;million, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">10</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="aaoi:LesseeOperatingAndFinanceLeasesTextBlock" id="c2430004" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">4.</em>&#xa0; Leases</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company leases space under non-cancellable operating leases for manufacturing facilities, research and development offices and certain storage facilities and apartments. These leases do <em style="font: inherit;">not</em> contain contingent rent provisions. The Company also leases certain machinery, office equipment and a vehicle under an operating lease. Many of its leases include both lease (e.g. fixed payments including rent, taxes, and insurance costs) and non-lease components (e.g. common-area or other maintenance costs) which are accounted for as a single lease component as the Company has elected the practical expedient to group lease and non-lease components for all leases. Several of the leases include <em style="font: inherit;">one</em> or more options to renew which have been assessed and either included or excluded from the calculation of the lease liability of the right of use ("ROU") asset based on management&#x2019;s intentions and individual fact patterns. Several warehouses and apartments have non-cancellable lease terms of less than <em style="font: inherit;">one</em>-year and therefore, the Company has elected the practical expedient to exclude these short-term leases from its ROU asset and lease liabilities.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As most of the Company&#x2019;s leases do <em style="font: inherit;">not</em> provide an implicit rate, the Company uses its incremental borrowing rate, which is the rate incurred to borrow on a collateralized basis over a similar term an amount equal to the lease payments in a similar economic environment. Based on the applicable lease terms and current economic environment, the Company applies a location approach for determining the incremental borrowing rate.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&#xa0;</p>
   <div style="font-size: 10pt;">
    <span style="background-color: rgb(255, 255, 255);"><span style="font-family: Times New Roman;">Lease expense is included under general and administrative expenses and was $<ix:nonFraction id="c100825331" contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" unitRef="USD" name="us-gaap:LeaseCost" scale="6" format="ixt:numdotdecimal" decimals="-5">0.3</ix:nonFraction> million and $<ix:nonFraction id="c100825333" contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" unitRef="USD" name="us-gaap:LeaseCost" scale="6" format="ixt:numdotdecimal" decimals="-5">0.6</ix:nonFraction> million each for the&#xa0;</span></span>
    <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em>
    <span style="font-family: Times New Roman;">&#xa0;and&#xa0;</span>
    <em style="font: inherit;"> June 30, 2022</em>
    <span style="font-size: 10pt; font-family: &quot;Times New Roman&quot;;">, respectively. Th</span>
    <span style="font-family: Times New Roman;">e components of lease expense were as follows for the periods indicated (</span>
    <span style="font-family: Times New Roman;">in thousands):</span>
   </div>
   <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:LeaseCostTableTextBlock" id="BE1DA7C5-3CF0-48C2-BD61-9F14CC252FDB" escape="true" continuedAt="c36CD2C77-83EC-4108-B222-D6A4B8103260">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825347" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">281</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825348" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">293</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825349" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">565</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825350" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">598</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Financing lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825351" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">8</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825352" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">8</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825353" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">16</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825354" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">16</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Short Term lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825355" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825356" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">17</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825357" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">6</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825358" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ShortTermLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">21</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825359" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">292</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825360" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">318</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825361" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">587</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825362" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">635</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Maturities of lease liabilities are as follows for the future <em style="font: inherit;">one</em>-year periods ending&#xa0;<em style="font: inherit;"> June 30, 2023</em> (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="aaoi:LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" id="c2430006" escape="true">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Operating</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Financing</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825365" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">1,024</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825366" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">54</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825367" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">1,246</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825368" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825369" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">1,219</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825370" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearThree" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825371" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">1,056</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825372" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFour" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825373" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">1,078</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825374" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFive" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2029 and thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825375" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">1,261</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825376" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825377" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" format="ixt:numdotdecimal" decimals="-3">6,884</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825378" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" format="ixt:numdotdecimal" decimals="-3">54</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825379" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">681</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825380" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Present value</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825381" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">6,203</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825382" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">53</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The weighted average remaining lease term and discount rate for the&#xa0;leases were as follows for the periods indicated:</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:continuation id="c36CD2C77-83EC-4108-B222-D6A4B8103260" continuedAt="c065097E0-D73D-4903-82D8-7543A0596C99">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Remaining Lease Term (Years) - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2023-06-30" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c100825387" format="ixt-sec:duryear">5.65</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2022-06-30" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c100825388" format="ixt-sec:duryear">6.67</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Remaining Lease Term (Years) - financing leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2023-06-30" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="c100825389" format="ixt-sec:duryear">0.33</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2022-06-30" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="c100825390" format="ixt-sec:duryear">1.33</ix:nonNumeric></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Discount Rate - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825391" contextRef="i_2023-06-30" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">3.20</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825392" contextRef="i_2022-06-30" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="4">3.22</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Discount Rate - financing leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825393" contextRef="i_2023-06-30" unitRef="Pure" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="2">5.00</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825394" contextRef="i_2022-06-30" unitRef="Pure" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="2">5.00</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Supplemental cash flow information related to the&#xa0;leases was as follows for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <ix:continuation id="c065097E0-D73D-4903-82D8-7543A0596C99">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cash paid for amounts included in the measurement of lease liabilities</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825400" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="3" format="ixt:numdotdecimal" decimals="-3">311</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825401" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="3" format="ixt:numdotdecimal" decimals="-3">622</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from financing lease</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825402" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825403" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">2</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Financing cash flows from financing lease</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825404" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-4">10</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825405" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">9</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">11</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:CashAndCashEquivalentsDisclosureTextBlock" id="c2430009" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">5.</em>&#xa0; Cash, Cash Equivalents and Restricted Cash</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The following table provides a reconciliation of c<span style="background-color:#ffffff;">ash, cash equivalents and r</span>estricted cash reported within the statement of financial position that sum to the total of the same such amounts in the statement of cash flows (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock" id="c2430010" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825421" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">21,578</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825422" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">24,685</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825423" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,034</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825424" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">10,902</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total cash, cash equivalents and restricted cash shown in the statement of cash flows</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825425" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" format="ixt:numdotdecimal" decimals="-3">28,612</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825426" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" format="ixt:numdotdecimal" decimals="-3">35,587</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Restricted cash includes guarantee deposits for customs duties, China government subsidy fund,&#xa0;and compensating balances associated&#xa0;with&#xa0;certain credit facilities. As of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, there was $<ix:nonFraction id="c100825407" contextRef="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="6" format="ixt:numdotdecimal" decimals="-5">3.9</ix:nonFraction>&#xa0;million and $<ix:nonFraction id="c100825408" contextRef="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="6" format="ixt:numdotdecimal" decimals="-5">8.7</ix:nonFraction>&#xa0;million&#xa0;of restricted cash required for bank acceptance notes issued to vendors, respectively. In addition, there was $<ix:nonFraction id="c100825409" contextRef="i_2023-06-30_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:CertificatesOfDepositAtCarryingValue" scale="6" format="ixt:numdotdecimal" decimals="-5">1.9</ix:nonFraction>&#xa0;million and $<ix:nonFraction id="c100825410" contextRef="i_2022-12-31_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:CertificatesOfDepositAtCarryingValue" scale="6" format="ixt:numdotdecimal" decimals="-5">1.1</ix:nonFraction>&#xa0;million certificate of deposit associated with credit facilities with a bank in China as of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, respectively. There was $<ix:nonFraction id="c100825411" contextRef="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="6" format="ixt:numdotdecimal" decimals="-5">0.7</ix:nonFraction>&#xa0;million and $<ix:nonFraction id="c100825412" contextRef="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember" unitRef="USD" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="6" format="ixt:numdotdecimal" decimals="-6">1.0</ix:nonFraction> million guarantee deposits for customs duties as of&#xa0;<em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, respectively.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:EarningsPerShareTextBlock" id="c2430011" escape="true">
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Note <em style="font: inherit;">6.</em>&#xa0; Earnings (Loss) Per Share</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Basic net loss per share has been computed using the weighted-average number of shares of common stock outstanding during the period. Diluted net loss per share has been computed using the weighted-average number of shares of common stock and dilutive potential common shares from stock options, restricted stock units and senior convertible notes outstanding during the period. In periods with net losses, normally dilutive shares become anti-dilutive. Therefore, basic and diluted loss per share are the same.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The following table sets forth the computation of the basic and diluted net loss per share for the periods indicated (in thousands):</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="c2430012" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Numerator:</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825437" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">16,944</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825438" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,456</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825439" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">33,237</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825440" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,518</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Denominator:</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average shares used to compute net loss per share</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825443" contextRef="d_2023-04-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">29,489</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825444" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">27,612</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825445" contextRef="d_2023-01-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">29,182</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825446" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" format="ixt:numdotdecimal" decimals="-3">27,537</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825447" contextRef="d_2023-04-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">29,489</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825448" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">27,612</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825449" contextRef="d_2023-01-01_2023-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">29,182</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825450" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">27,537</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss per share</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825452" contextRef="d_2023-04-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.57</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825453" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.52</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825454" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.14</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825455" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.11</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825456" contextRef="d_2023-04-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.57</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825457" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.52</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825458" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.14</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825459" contextRef="d_2022-01-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">1.11</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The following potentially dilutive securities were excluded from the diluted net loss per share as their effect would have been antidilutive (in thousands):</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="c2430013" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Employee stock options</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825468" contextRef="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#x2014;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825470" contextRef="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825471" contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted stock units</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825472" contextRef="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">498</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#x2014;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c100825474" contextRef="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">473</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825475" contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares for convertible senior notes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825476" contextRef="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">4,587</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825477" contextRef="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">4,587</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825478" contextRef="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">4,587</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825479" contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">4,587</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total antidilutive shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825480" contextRef="d_2023-04-01_2023-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">5,085</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825481" contextRef="d_2022-04-01_2022-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">4,587</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825482" contextRef="d_2023-01-01_2023-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">5,060</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825483" contextRef="d_2022-01-01_2022-06-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">4,587</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:InventoryDisclosureTextBlock" id="c2430014" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">7.</em>&#xa0; Inventories</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Inventories, net of inventory write-downs, consist of the following for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="c2430015" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825505" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">25,194</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825506" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">25,732</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Work in process and sub-assemblies</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825507" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">32,287</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825508" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">39,563</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825509" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-4">8,840</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825510" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">14,384</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total inventories</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825511" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">66,321</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825512" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">79,679</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#xa0; &#xa0; &#xa0; &#xa0; &#xa0;&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">For the <em style="font: inherit;">three</em> months&#xa0;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#xa0;the inventory reserve adjustment expensed for inventory was $<ix:nonFraction id="c100825487" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:InventoryLIFOReservePeriodCharge" scale="6" format="ixt:numdotdecimal" decimals="-5">2.4</ix:nonFraction>&#xa0;million, and $<ix:nonFraction id="c100825488" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:InventoryLIFOReservePeriodCharge" scale="6" format="ixt:numdotdecimal" decimals="-5">0.4</ix:nonFraction> million, respectively.&#xa0;For the <em style="font: inherit;">six</em> months&#xa0;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#xa0;the inventory reserve adjustment expensed for inventory was $<ix:nonFraction id="c100825491" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:InventoryLIFOReservePeriodCharge" scale="6" format="ixt:numdotdecimal" decimals="-6">5.0</ix:nonFraction> million, and $<ix:nonFraction id="c100825492" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InventoryLIFOReservePeriodCharge" scale="6" format="ixt:numdotdecimal" decimals="-5">2.4</ix:nonFraction>&#xa0;million, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">For&#xa0;the&#xa0;<em style="font: inherit;">three</em>&#xa0;months&#xa0;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#xa0;the&#xa0;direct&#xa0;inventory write-offs related to scrap, discontinued products, and damaged inventories were $<ix:nonFraction id="c100825495" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:InventoryWriteDown" scale="6" format="ixt:numdotdecimal" decimals="-5">3.1</ix:nonFraction> million and $<ix:nonFraction id="c100825496" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:InventoryWriteDown" scale="6" format="ixt:numdotdecimal" decimals="-5">1.8</ix:nonFraction> million, respectively.&#xa0;For&#xa0;the&#xa0;<em style="font: inherit;">six</em> months&#xa0;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#xa0;the&#xa0;direct&#xa0;inventory&#xa0;write-offs&#xa0;related&#xa0;to&#xa0;scrap,&#xa0;discontinued products,&#xa0;and&#xa0;damaged&#xa0;inventories&#xa0;were&#xa0;$<ix:nonFraction id="c100825499" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:InventoryWriteDown" scale="6" format="ixt:numdotdecimal" decimals="-5">6.9</ix:nonFraction> million and $<ix:nonFraction id="c100825500" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:InventoryWriteDown" scale="6" format="ixt:numdotdecimal" decimals="-5">2.7</ix:nonFraction> million, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><span style="background-color:#ffffff;">&#x200b; </span></p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">12</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="c2430016" escape="true">
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Note <em style="font: inherit;">8.</em>&#xa0; Property, Plant &amp; Equipment</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Property, plant and equipment consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="c2430017" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825535" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">806</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825536" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">806</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825537" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">85,342</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825538" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">86,372</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825539" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">247,242</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825540" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">251,216</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Furniture and fixtures</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825541" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">5,346</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825542" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">5,382</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Computer equipment and software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825543" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">11,587</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825544" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">11,713</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transportation equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825545" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">661</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825546" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">679</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825547" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">350,984</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825548" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">356,168</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less accumulated depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825549" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">183,479</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825550" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">177,519</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825551" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" scale="3" format="ixt:numdotdecimal" decimals="-3">167,505</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825552" contextRef="i_2022-12-31" unitRef="USD" name="aaoi:PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" scale="3" format="ixt:numdotdecimal" decimals="-3">178,649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825553" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">29,273</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825554" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">30,434</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825555" contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,101</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825556" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,101</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total property, plant and equipment, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825557" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">197,879</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825558" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">210,184</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, the depreciation expense of property, plant and equipment wa<span style="background-color:#ffffff;">s $<ix:nonFraction id="c100825516" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="6" format="ixt:numdotdecimal" decimals="-6">5.0</ix:nonFraction>&#xa0;million </span>and $<ix:nonFraction id="c100825517" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="6" format="ixt:numdotdecimal" decimals="-5">5.7</ix:nonFraction> million, respectively. For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, the depreciation expense of property, plant and equipment wa<span style="background-color:#ffffff">s $<ix:nonFraction id="c100825520" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="6" format="ixt:numdotdecimal" decimals="-5">10.2</ix:nonFraction> million </span>and $<ix:nonFraction id="c100825521" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:Depreciation" scale="6" format="ixt:numdotdecimal" decimals="-5">11.7</ix:nonFraction> million, respectively. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#xa0;the capitalized interest was $<ix:nonFraction id="c100825524" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:InterestPaidCapitalized" scale="6" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>&#xa0;million and $<ix:nonFraction id="c100825525" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:InterestPaidCapitalized" scale="6" format="ixt:numdotdecimal" decimals="-5">0.2</ix:nonFraction>&#xa0;million, respectively.&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em><i><span style="background-color:null;">, </span></i><span style="background-color:null;">the Company concluded that its continued loss history constitutes a triggering event as described in ASC </span><i><span style="background-color:null;"><em style="font: inherit;">360</em></span></i><span style="background-color:null;">-</span><i><span style="background-color:null;"><em style="font: inherit;">10</em></span></i><span style="background-color:null;">-</span><i><span style="background-color:null;"><em style="font: inherit;">35</em></span></i><span style="background-color:null;">-</span><i><span style="background-color:null;"><em style="font: inherit;">21,</em></span></i><i><span style="background-color:null;">Property, Plant, and Equipment</span></i><span style="background-color:null;">.&#xa0; The Company performed a recoverability test and concluded that future undiscounted cash flows exceed the carrying amount of the Company&#x2019;s long-lived assets and therefore <ix:nonFraction id="c100825530" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:AssetImpairmentCharges" scale="6" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> impairment charge was recorded.&#xa0;</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="c2430018" escape="true">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">9.</em>&#xa0; Intangible Assets, net</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Intangible assets consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="c9DB16D6F-9AD6-4E53-BF4E-938F38DAE964" escape="true" continuedAt="c0A7B02CC-4139-4492-BE62-20FAAF2243A3">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">June 30, 2023</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Intangible</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">assets, net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825589" contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">9,216</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825590" contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-4">5,640</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825591" contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,576</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825592" contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">74</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825593" contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">25</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825594" contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">49</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825595" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-4">9,290</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100825596" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">5,665</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825597" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,625</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <ix:continuation id="c0A7B02CC-4139-4492-BE62-20FAAF2243A3">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Intangible</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">assets, net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825607" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">8,994</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825608" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-4">5,330</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825609" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,664</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825610" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">56</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825611" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">21</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825612" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">35</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825613" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-4">9,050</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100825614" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">5,351</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825615" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,699</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, amortization expense for intangible assets, included in general and administrative expenses on the statement of operations, was each $<ix:nonFraction id="c100825562" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">0.2</ix:nonFraction>&#xa0;million. For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, amortization expense for intangible assets, included in general and administrative expenses on the statement of operations, was each $<ix:nonFraction id="c100825566" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-5">0.3</ix:nonFraction>&#xa0;million.&#xa0;The remaining weighted average amortization period for intangible assets is approxi<span style="background-color:#ffffff;">mately <ix:nonNumeric contextRef="i_2023-06-30" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" id="c100825567" format="ixt-sec:duryear">5.6</ix:nonNumeric>&#xa0;years.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">At <em style="font: inherit;"> June 30, 2023</em>,&#xa0;future amortization expense for intangible assets for future <em style="font: inherit;">one</em> year periods is estimated to be (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="c2430021" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2024</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825616" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">646</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2025</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825618" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2026</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825619" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2027</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825620" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2028</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825621" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2029 and thereafter</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825622" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">383</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825623" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">3,625</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:FairValueDisclosuresTextBlock" id="c2430022" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -36pt; text-indent: 36pt;"><b>Note <em style="font: inherit;">10.</em>&#xa0; Fair Value of Financial Instruments&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The carrying value amounts of cash and cash equivalents, restricted cash, accounts receivable, prepaid expenses, notes receivable and other current assets, accounts payable, accrued expenses, bank acceptance payable&#xa0;and other current liabilities approximate fair value because of the short-term maturity of these instruments.&#xa0;The Company believes that the interest rates in effect at each period end represent the current market rates for similar borrowings.&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The fair value of convertible senior notes is measured for disclosure purposes only. The fair value and carrying amount of our convertible senior notes as of <em style="font: inherit;"> June 30, 2023</em>&#xa0;was $<ix:nonFraction id="c100825625" contextRef="i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember" unitRef="USD" name="us-gaap:ConvertibleDebtFairValueDisclosures" scale="6" format="ixt:numdotdecimal" decimals="-5">65.9</ix:nonFraction>&#xa0;million and $<ix:nonFraction id="c100825626" contextRef="i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember" unitRef="USD" name="us-gaap:ConvertibleDebt" scale="6" format="ixt:numdotdecimal" decimals="-5">79.9</ix:nonFraction>&#xa0;million, respectively. As of <em style="font: inherit;"> December 31, 2022, </em>the&#xa0;fair value and carrying amount of our convertible senior notes was $<ix:nonFraction id="c100825627" contextRef="i_2022-12-31_LongtermDebtTypeAxis-SeniorNotesMember" unitRef="USD" name="us-gaap:ConvertibleDebtFairValueDisclosures" scale="6" format="ixt:numdotdecimal" decimals="-5">58.3</ix:nonFraction> million and $<ix:nonFraction id="c100825628" contextRef="i_2022-12-31_LongtermDebtTypeAxis-SeniorNotesMember" unitRef="USD" name="us-gaap:ConvertibleDebt" scale="6" format="ixt:numdotdecimal" decimals="-5">79.5</ix:nonFraction> million, respectively.&#xa0;The fair value is based on observable market prices for this debt, which is traded in less active markets and are therefore classified as a Level <em style="font: inherit;">2</em> fair value measurement.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 36pt;">&#xa0;&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">13</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:DebtDisclosureTextBlock" id="c2430023" escape="true">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">11.</em>&#xa0; Notes Payable and Long-Term Debt</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Notes payable and long-term debt consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfDebtTableTextBlock" id="c2430024" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 102px;"><b><em style="font: inherit;">June 30, 2023</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Revolving line of credit with a U.S. bank up to $<span style="-sec-ix-hidden:c100825693"><span style="-sec-ix-hidden:c100825694">27.780</span></span> million with interest at <span style="-sec-ix-hidden:c100825695"><span style="-sec-ix-hidden:c100825696">9.663</span></span>%, maturing the earlier of either <span style="-sec-ix-hidden:c100825697"><span style="-sec-ix-hidden:c100825698">12/14/2023</span></span> or <span style="-sec-ix-hidden:c100825699"><span style="-sec-ix-hidden:c100825700">11/16/2025</span></span> if the convertible debt remains in effect</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100825691" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">5,830</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825692" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-6">25,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Revolving line of credit with a China bank up to $<span style="-sec-ix-hidden:c100825703"><span style="-sec-ix-hidden:c100825704">19,037</span></span> with interest from <span style="-sec-ix-hidden:c100825705"><span style="-sec-ix-hidden:c100825706">4.57</span></span>% to <span style="-sec-ix-hidden:c100825707"><span style="-sec-ix-hidden:c100825708">6.12</span></span>%, maturing <span style="-sec-ix-hidden:c100825709"><span style="-sec-ix-hidden:c100825710">May 24, 2024</span></span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825701" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">13,757</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825702" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">13,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Credit facility with a China bank up to $<span style="-sec-ix-hidden:c100825713"><span style="-sec-ix-hidden:c100825714">26,651</span></span> with interest of <span style="-sec-ix-hidden:c100825715"><span style="-sec-ix-hidden:c100825716">4.45</span></span>% ~ <span style="-sec-ix-hidden:c100825717"><span style="-sec-ix-hidden:c100825718">6.6</span></span>%, maturing <span style="-sec-ix-hidden:c100825719"><span style="-sec-ix-hidden:c100825720">June 6, 2027</span></span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">&#xa0;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"><ix:nonFraction id="c100825711" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">18,683</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"><ix:nonFraction id="c100825712" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">20,140</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Sub-total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825721" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">38,270</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825722" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">58,242</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less debt issuance costs, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825723" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">994</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825724" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,168</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Grand total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825725" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">37,276</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825726" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">57,074</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less current portion</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825727" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">37,276</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825728" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">57,074</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-current portion</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825729" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825730" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Bank Acceptance Notes Payable</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 102px;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Bank acceptance notes issued to vendors with a zero percent interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825732" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:BankAcceptancesExecutedAndOutstandingCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">8,637</ix:nonFraction></td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825733" contextRef="i_2022-12-31" unitRef="USD" name="aaoi:BankAcceptancesExecutedAndOutstandingCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">12,337</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The current portion of long-term debt is the amount payable within <em style="font: inherit;">one</em> year of the balance sheet date of <em style="font: inherit;"> June 30, 2023</em>.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Maturities of long-term debt are as follows for the future <em style="font: inherit;">one</em>-year periods ending <em style="font: inherit;"> June 30, 2023</em> (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="c2430025" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Within one year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825734" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">37,276</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Beyond one year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825735" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825736" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">37,276</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">On <em style="font: inherit;"> November 16, 2022, </em>the Company entered into a Loan Security and Guarantee Agreement (the &#x201c;Credit Facility&#x201d;) with CIT Northbridge Credit, LLC (&#x201c;CIT&#x201d;), as agent for secured parties. The Credit Facility provides the Company with a <span style="-sec-ix-hidden:c100825635">three</span>-year, $<ix:nonFraction id="c100825636" contextRef="i_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-4">27.78</ix:nonFraction> million revolving line of credit. Borrowings under the Credit Facility will be used for working capital needs, capital expenditures, and other corporate purposes. The Company's obligations under the Credit Facility are secured by the Company's inventory, accounts receivable, instruments, equipment, intellectual property, and all business assets with the exception of real estate and all foreign assets. Borrowings will bear interest at a rate equal to the Secured Overnight Financing Rate (SOFR) plus <ix:nonFraction id="c100825637" contextRef="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_VariableRateAxis-SecuredOvernightFinancingRateSOFRMember" unitRef="Pure" name="aaoi:DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" scale="-2" format="ixt:numdotdecimal" decimals="4">3.75</ix:nonFraction>%, while monthly average usage is less than <em style="font: inherit;">50%</em> of the Credit Facility, otherwise SOFR plus <ix:nonFraction id="c100825639" contextRef="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_VariableRateAxis-SecuredOvernightFinancingRateSOFRMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">4.75</ix:nonFraction>%. The Credit Facility will become due at the earlier date of either <em style="font: inherit;"> November 16, 2025 </em>or <em style="font: inherit;">91</em> days prior to the maturity of the Convertible Notes. As of <em style="font: inherit;"> June 30, 2023</em>, $<ix:nonFraction id="c100825641" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:numdotdecimal" decimals="-5">5.8</ix:nonFraction> million was outstanding under the Credit Facility.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">On <em style="font: inherit;"> May 24, 2019, </em>the Company&#x2019;s China subsidiary, Global, entered into a <span style="-sec-ix-hidden:c100825642">five</span>-year revolving credit line agreement, totaling <ix:nonFraction id="c100825643" contextRef="i_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="CNY" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" format="ixt:numdotdecimal" decimals="INF">180,000,000</ix:nonFraction> RMB (the &#x201c;SPD Credit Line&#x201d;), or approximately $<ix:nonFraction id="c100825644" contextRef="i_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-5">25.4</ix:nonFraction> million at that time, and a mortgage security agreement (the &#x201c;Security Agreement&#x201d;), with Shanghai Pudong Development Bank Co., Ltd ("SPD"). Borrowing under the SPD Credit Line will be used for general corporate and capital investment purposes, including the issuance of bank acceptance notes to Global&#x2019;s vendors. Global <em style="font: inherit;"> may </em>draw upon the SPD Credit Line on an as-needed basis at any time during the <em style="font: inherit;">5</em>-year term; however, draws under the SPD Credit Line <em style="font: inherit;"> may </em>become due and repayable to SPD at SPD&#x2019;s discretion due to changes in Chinese government regulations and/or changes in Global&#x2019;s financial and operational condition. Each draw will bear interest equal to SPD&#x2019;s commercial banking interest rate effective on the day of the applicable draw. Global&#x2019;s obligations under the SPD Credit Line will be secured by real property owned by Global and mortgaged to the Bank under the terms of the Security Agreement. As of <em style="font: inherit;"> June 30, 2023</em>, $<ix:nonFraction id="c100825646" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:numdotdecimal" decimals="-5">13.8</ix:nonFraction> million was outstanding under the SPD Credit Line and the outstanding balance of bank acceptance notes issued to vendors was $<ix:nonFraction id="c100825647" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember" unitRef="USD" name="us-gaap:BankAcceptancesExecuted" scale="6" format="ixt:numdotdecimal" decimals="-5">8.6</ix:nonFraction>&#xa0;million.</p>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">On <em style="font: inherit;"> June 7, 2022, </em>the Company's China Subsidiary, Global, entered a security agreement with China Zheshang Bank in Ningbo City, China ("CZB") for a <span style="-sec-ix-hidden:c100825648">five</span>-year credit line agreement, totaling <ix:nonFraction id="c100825649" contextRef="i_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="CNY" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" format="ixt:numdotdecimal" decimals="INF">200,000,000</ix:nonFraction> RMB (the <em style="font: inherit;">"&#xa5;200M</em> Credit Facility"), or approximately $<ix:nonFraction id="c100825651" contextRef="i_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-5">29.9</ix:nonFraction> million at that time. Global <em style="font: inherit;"> may </em>draw upon the <em style="font: inherit;">&#xa5;200M</em> Credit Facility between <em style="font: inherit;"> June 7, 2022 </em>and <em style="font: inherit;"> June 6, 2027 (" </em><em style="font: inherit;">&#xa5;200M</em> Credit Period"). During the <em style="font: inherit;">&#xa5;200M</em> Credit Period, Global <em style="font: inherit;"> may </em>request to draw upon the <em style="font: inherit;">&#xa5;200M</em> Credit Facility on an as-needed basis; however, draws under the <em style="font: inherit;">&#xa5;200M</em> Credit Facility <em style="font: inherit;"> may </em>become due and repayable to CZB at CZB&#x2019;s discretion due to changes in Chinese government regulations and/or changes in Global&#x2019;s financial and operational condition. Each draw will be facilitated by a separate credit agreement specifying the terms of each draw and will bear interest equal to CZB's commercial banking interest rate effective on the day of the applicable draw. Global&#x2019;s obligations under the <em style="font: inherit;">&#xa5;200M</em> Credit Facility will be secured by real property owned by Global and mortgaged to CZB under the terms of the Real Estate Security Agreement. As of <em style="font: inherit;"> June 30, 2023</em>, $<ix:nonFraction id="c100825658" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:numdotdecimal" decimals="-5">18.7</ix:nonFraction>&#xa0;million was outstanding under the <em style="font: inherit;">&#xa5;200M</em> Credit Facility and the outstanding balance of bank acceptance notes issued to vendors was $<ix:nonFraction id="c100825660" contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember" unitRef="USD" name="us-gaap:BankAcceptancesExecuted" scale="6" format="ixt:numdotdecimal" decimals="-5">5.2</ix:nonFraction> million.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">As of </span><em style="font: inherit;"> June 30, 2023</em><span style="background-color:#ffffff;"> and </span><em style="font: inherit;"> December 31, 2022</em><span style="background-color:#ffffff;">, the Company had $</span><ix:nonFraction id="c100825661" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount" scale="6" format="ixt:numdotdecimal" decimals="-5">32.5</ix:nonFraction> million and $<ix:nonFraction id="c100825662" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount" scale="6" format="ixt:numdotdecimal" decimals="-5">13.3</ix:nonFraction>&#xa0;<span style="background-color:#ffffff;">million of unused borrowing capacity, respectively.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">As of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, there <span style="background-color:#ffffff;">was $<ix:nonFraction id="c100825663" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:CashCollateralForBorrowedSecurities" scale="6" format="ixt:numdotdecimal" decimals="-5">6.8</ix:nonFraction> million and $<ix:nonFraction id="c100825664" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashCollateralForBorrowedSecurities" scale="6" format="ixt:numdotdecimal" decimals="-5">9.9</ix:nonFraction>&#xa0;million of restricted cash, investme</span>nts or security deposits associated with the loan facilities, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">14</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="aaoi:ConvertibleDebtTextBlock" id="c2430026" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">12.</em>&#xa0; Convertible Senior Notes</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">On <em style="font: inherit;"> March 5, 2019, </em>the Company issued&#xa0;$<ix:nonFraction id="c100825738" contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="6" format="ixt:numdotdecimal" decimals="-5">80.5</ix:nonFraction> million&#xa0;of <ix:nonFraction id="c100825739" contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">5</ix:nonFraction>% convertible senior notes due <em style="font: inherit;">2024</em> (the &#x201c;Notes&#x201d;). The Notes were issued pursuant to an indenture, dated as of <em style="font: inherit;"> March&#xa0;</em><em style="font: inherit;">5,</em> <em style="font: inherit;">2019</em> (the &#x201c;Indenture&#x201d;), between the Company and Wells Fargo Bank, National Association, as trustee, paying agent, and conversion agent (the &#x201c;Trustee&#x201d;). The Notes bear interest at a rate of <em style="font: inherit;">5.00%</em> per year, payable in cash semi-annually in arrears on <em style="font: inherit;"> March&#xa0;</em><em style="font: inherit;">15</em> and <em style="font: inherit;"> September&#xa0;</em><em style="font: inherit;">15</em> of each year, beginning on <em style="font: inherit;"> September&#xa0;</em><em style="font: inherit;">15,</em> <em style="font: inherit;">2019.</em> The Notes will mature on <em style="font: inherit;"> March&#xa0;</em><em style="font: inherit;">15,</em> <em style="font: inherit;">2024,</em> unless earlier repurchased, redeemed or converted in accordance with their terms.&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The sale of the Notes generated net proceeds of $<ix:nonFraction id="c100825750" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:ProceedsFromConvertibleDebt" scale="6" format="ixt:numdotdecimal" decimals="-5">76.4</ix:nonFraction> million, after deducting the Initial Purchasers&#x2019; discounts and offering expenses payable by the Company.&#xa0;The Company used approximately $<ix:nonFraction id="c100825751" contextRef="d_2019-03-05_2019-03-05_DebtInstrumentAxis-CapExLoanAndTermLoanMember_LineOfCreditFacilityAxis-TruistBankMember" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebt" scale="6" format="ixt:numdotdecimal" decimals="-5">37.8</ix:nonFraction> million of the net proceeds from the offering to fully repay the CapEx Loan and Term Loan with Truist Bank and the remainder will be used for general corporate purposes.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The following table presents the carrying value of the Notes for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 47.05pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ConvertibleDebtTableTextBlock" id="c2430027" escape="true">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Principal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825790" contextRef="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="3" format="ixt:numdotdecimal" decimals="-5">80,500</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825791" contextRef="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="3" format="ixt:numdotdecimal" decimals="-5">80,500</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Unamortized debt issuance costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825792" contextRef="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:UnamortizedDebtIssuanceExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">584</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825793" contextRef="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:UnamortizedDebtIssuanceExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">994</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Net carrying amount</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825794" contextRef="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:ConvertibleNotesPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">79,916</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825795" contextRef="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:ConvertibleNotesPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">79,506</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Notes are convertible at the option of holders of the Notes at any time until the close of business on the scheduled trading day immediately preceding the maturity date. Upon conversion, holders of the Notes will receive shares of the Company&#x2019;s common stock, together, if applicable, with cash in lieu of any fractional share, at the then-applicable conversion rate. The initial conversion rate is <ix:nonFraction id="c100825752" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Share" name="us-gaap:DebtConversionConvertedInstrumentSharesIssued1" scale="0" format="ixt:numdotdecimal" decimals="INF">56.9801</ix:nonFraction> shares of the Company&#x2019;s common stock per $<ix:nonFraction id="c100825753" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:DebtConversionConvertedInstrumentAmount1" scale="0" format="ixt:numdotdecimal" decimals="INF">1,000</ix:nonFraction> principal amount of Notes (representing an initial conversion price of approximately $<ix:nonFraction id="c100825754" contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USDPerShare" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" format="ixt:numdotdecimal" decimals="INF">17.55</ix:nonFraction> per share of common stock, which represents an initial conversion premium of approximately <ix:nonFraction id="c100825755" contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="aaoi:DebtInstrumentConvertibleConversionPricePremiumPercentage" scale="-2" format="ixt:numdotdecimal" decimals="1">30</ix:nonFraction>% above the closing price of $<ix:nonFraction id="c100825756" contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USDPerShare" name="us-gaap:SharePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">13.50</ix:nonFraction> per share of the Company&#x2019;s common stock on <em style="font: inherit;"> February&#xa0;</em><em style="font: inherit;">28,</em> <em style="font: inherit;">2019</em>), subject to customary adjustments. If a make-whole fundamental change (as defined in the Indenture) occurs, and in connection with certain other conversions before <em style="font: inherit;"> March&#xa0;</em><em style="font: inherit;">15,</em> <em style="font: inherit;">2022,</em> the Company will in certain circumstances increase the conversion rate for a specified period of time.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Initially and&#xa0;<span style="background-color:#ffffff">as of </span><em style="font: inherit;"> June 30, 2023</em>, there are <em style="font: inherit;">no</em> guarantors of the Notes, but the Notes will be fully and unconditionally guaranteed, on a senior, unsecured basis by certain of the Company&#x2019;s future domestic subsidiaries.&#xa0; The Notes are the Company&#x2019;s senior, unsecured obligations and are equal in right of payment with existing and future senior, unsecured indebtedness, senior in right of payment to the Company&#x2019;s existing and future indebtedness that is expressly subordinated to the Notes and effectively subordinated to the Company&#x2019;s existing and future secured indebtedness, to the extent of the value of the collateral securing that indebtedness.&#xa0; The Note Guarantee (as defined in the Indenture) of each future guarantor, if any, will be such guarantor&#x2019;s senior, unsecured obligations and are equal in right of payment with existing and future senior, unsecured indebtedness, senior in right of payment to such future guarantor&#x2019;s existing and future indebtedness that is expressly subordinated to the Notes and effectively subordinated to such future guarantor&#x2019;s existing and future secured indebtedness, to the extent of the value of the collateral securing that indebtedness.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Holders <em style="font: inherit;"> may </em>require the Company to repurchase their Notes upon the occurrence of a fundamental change (as defined in the Indenture) at a cash purchase price equal to the principal amount thereof plus accrued and unpaid interest, if any.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">After <em style="font: inherit;"> March 15, 2022, </em>the Company <em style="font: inherit;"> may </em>redeem for cash all or part of the Notes if the last reported sale price per share of the Company&#x2019;s common stock exceeds <ix:nonFraction id="c100825762" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" format="ixt:numdotdecimal" decimals="1">130</ix:nonFraction>% of the conversion price on (i)&#xa0;each of at least <ix:nonFraction id="c100825763" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" format="ixt:numdotdecimal" decimals="INF">20</ix:nonFraction> trading days, whether or <em style="font: inherit;">not</em> consecutive, during the <ix:nonFraction id="c100825765" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" format="ixt:numdotdecimal" decimals="INF">30</ix:nonFraction> consecutive trading days ending on, and including, the trading day immediately before the date the Company sends the related redemption notice; and (ii)&#xa0;the trading day immediately before the date the Company sends such redemption notice.&#xa0; The redemption price is equal to <ix:nonFraction id="c100825766" contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction>% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.&#xa0; In addition, calling any Note for redemption will constitute a &#x201c;make-whole fundamental change&#x201d; with respect to that Note, in which case the conversion rate applicable to the conversion of that Note will be increased in certain circumstances if it is converted after it is called for redemption.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Indenture contains covenants that limit the Company&#x2019;s ability and the ability of our subsidiaries to, among other things: (i)&#xa0;incur or guarantee additional indebtedness or issue disqualified stock; and (ii)&#xa0;create or incur liens.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Pursuant to the guidance in ASC <em style="font: inherit;">815</em>-<em style="font: inherit;">40,</em> Contracts in Entity&#x2019;s Own Equity, the Company evaluated whether the conversion feature of the note needed to be bifurcated from the host instrument as a freestanding financial instrument. Under ASC <em style="font: inherit;">815</em>-<em style="font: inherit;">40,</em> to qualify for equity classification (or non-bifurcation, if embedded) the instrument (or embedded feature) must be both (<em style="font: inherit;">1</em>) indexed to the issuer&#x2019;s own stock and (<em style="font: inherit;">2</em>) meet the requirements of the equity classification guidance. Based upon the Company&#x2019;s analysis, it was determined the conversion option is indexed to its own stock and also met all the criteria for equity classification contained in ASC <em style="font: inherit;">815</em>-<em style="font: inherit;">40</em>-<em style="font: inherit;">25</em>-<em style="font: inherit;">7</em> and <em style="font: inherit;">815</em>-<em style="font: inherit;">40</em>-<em style="font: inherit;">25</em>-<em style="font: inherit;">10.</em> Accordingly, the conversion option is <em style="font: inherit;">not</em> required to be bifurcated from the host instrument as a freestanding financial instrument. Since the conversion feature meets the equity scope exception from derivative accounting, the Company then evaluated whether the conversion feature needed to be separately accounted for as an equity component under ASC <em style="font: inherit;">470</em>-<em style="font: inherit;">20,</em> Debt with Conversion and Other Options.&#xa0; The Company determined that notes should be accounted for in their entirety as a liability.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">15</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company incurred approximately $<ix:nonFraction id="c100825785" contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:DeferredFinanceCostsGross" scale="6" format="ixt:numdotdecimal" decimals="-5">4.1</ix:nonFraction> million in transaction costs in connection with the issuance of the Notes. These costs were recognized as a reduction of the carrying amount of the Notes utilizing the effective interest method and are being amortized over the term of the Notes.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 18pt; text-align: left; text-indent: 18pt;">The following table sets forth interest expense information related to the Notes (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock" id="c2430028" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Contractual interest expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825804" contextRef="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,006</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825805" contextRef="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,006</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825806" contextRef="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">2,013</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825807" contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">2,013</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of debt issuance costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825808" contextRef="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:AmortizationOfFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">206</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825809" contextRef="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:AmortizationOfFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">206</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825810" contextRef="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:AmortizationOfFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-4">410</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825811" contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:AmortizationOfFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-4">410</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total interest cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825812" contextRef="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">1,212</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825813" contextRef="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">1,212</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825814" contextRef="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">2,423</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825815" contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="USD" name="us-gaap:InterestExpenseDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">2,423</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Effective interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825816" contextRef="i_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">5.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825817" contextRef="i_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">5.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825818" contextRef="i_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">5.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825819" contextRef="i_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">5.1</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#x200b;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" id="c2430029" escape="true">
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -18pt; text-align: left; text-indent: 18pt;"><b>Note <em style="font: inherit;">13.</em>&#xa0; Accrued Liabilities&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Accrued liabilities consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="c2430030" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued payroll</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825823" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccruedSalariesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">7,289</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825824" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccruedSalariesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">9,702</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued employee benefits</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825825" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">3,159</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825826" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">3,265</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued state and local taxes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825827" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:TaxesPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,014</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825828" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:TaxesPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">588</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Accrued interest</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100825829" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:AccruedInterestCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,423</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100825830" contextRef="i_2022-12-31" unitRef="USD" name="aaoi:AccruedInterestCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,597</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Advanced payments</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825832" contextRef="i_2023-06-30" unitRef="USD" name="aaoi:AccruedLiabilitiesAdvancedPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">161</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825833" contextRef="i_2022-12-31" unitRef="USD" name="aaoi:AccruedLiabilitiesAdvancedPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">216</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Accrued commission expenses</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100825835" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccruedLiabilitiesForCommissionsExpenseAndTaxes" scale="3" format="ixt:numdotdecimal" decimals="-3">728</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100825836" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccruedLiabilitiesForCommissionsExpenseAndTaxes" scale="3" format="ixt:numdotdecimal" decimals="-3">937</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued professional fees</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825837" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccruedProfessionalFeesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">202</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825838" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccruedProfessionalFeesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">409</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued product warranty</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825839" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">145</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825840" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">140</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued other</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825841" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">581</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825842" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">368</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total accrued liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825844" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">14,702</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825846" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">17,222</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock" id="c2430031" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">14.</em>&#xa0; Other Income and Expense</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Other income and (expense) consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" id="c2430032" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 44%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign exchange transaction gain (loss)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825856" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3">413</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825857" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">288</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825858" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3">176</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100825859" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">811</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Government subsidy income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825860" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="aaoi:GovernmentSubsidyIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">715</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825861" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="aaoi:GovernmentSubsidyIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">83</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825862" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:GovernmentSubsidyIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">833</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825863" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="aaoi:GovernmentSubsidyIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">102</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other non-operating gain</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825864" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingGainsLosses" scale="3" format="ixt:numdotdecimal" decimals="-3">43</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825865" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingGainsLosses" scale="3" format="ixt:numdotdecimal" decimals="-3">28</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825866" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingGainsLosses" scale="3" format="ixt:numdotdecimal" decimals="-3">143</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825867" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingGainsLosses" scale="3" format="ixt:numdotdecimal" decimals="-3">45</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gain (loss) on disposal of assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825868" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825869" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100825870" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100825871" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3">35</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other income (expenses) , net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825872" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,167</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100825873" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">180</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100825874" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,145</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c100825875" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">629</ix:nonFraction></td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="c2430033" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">15.</em>&#xa0; Share-Based Compensation</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Equity Plans</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>&#x200b;</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company&#x2019;s board of directors and stockholders approved the following equity plans:</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left; text-indent: -36pt;">&#x200b;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="vertical-align: top; font-family: Times New Roman; font-size: 10pt;"><td style="width: 36pt; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 18pt; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x25cf;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">the <em style="font: inherit;">2013</em> Equity Incentive Plan (<em style="font: inherit;">&#x201c;2013</em> Plan&#x201d;)</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="vertical-align: top; font-family: Times New Roman; font-size: 10pt;"><td style="width: 36pt; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 18pt; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x25cf;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">the <em style="font: inherit;">2021</em> Equity Incentive Plan (<em style="font: inherit;">&#x201c;2021</em> Plan&#x201d;)</p> </td></tr>
</tbody></table>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company issued stock options, restricted stock awards (&#x201c;RSAs&#x201d;) and restricted stock units (&#x201c;RSUs&#x201d;) to employees, consultants and non-employee directors. Stock option awards generally vest over a <span style="-sec-ix-hidden:c100825881">four</span>-year period and have a maximum term of <span style="-sec-ix-hidden:c100825882">ten</span> years. Stock options under these plans have been granted with an exercise price equal to the fair market value on the date of the grant. Nonqualified and Incentive Stock Options, RSAs and RSUs <em style="font: inherit;"> may </em>be granted from these plans. Prior to the Company&#x2019;s initial public offering in <em style="font: inherit;"> September 2013, </em>the fair market value of the Company&#x2019;s stock had been historically determined by the board of directors and from time to time with the assistance of <em style="font: inherit;">third</em>-party valuation specialists.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">16</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Stock Options</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>&#x200b;</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Options have been granted to the Company&#x2019;s employees under the <em style="font: inherit;">two</em> incentive plans and generally become exercisable as to <ix:nonFraction id="c100825886" contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" unitRef="Pure" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">25</ix:nonFraction>% of the shares on the <em style="font: inherit;">first</em> anniversary date following the date of grant and <ix:nonFraction id="c100825888" contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnSemiannualBasisMember" unitRef="Pure" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">12.5</ix:nonFraction>% on a semi-annual basis thereafter. All options expire <em style="font: inherit;">ten</em> years after the date of grant.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left;">The following is a summary of option activity:</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="c2430034" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Share Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Remaining</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Exercise</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">on Date of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Contractual</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Exercise</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Life</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td colspan="22" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 63%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825940" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">263</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825941" contextRef="i_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">10.41</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825943" contextRef="i_2022-12-31" unitRef="USDPerShare" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.45</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c100825944" format="ixt-sec:duryear">0.71</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825945" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c100825947" contextRef="d_2023-01-01_2023-06-30" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">34</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825949" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">7.50</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825953" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">4.73</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825957" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825958" contextRef="i_2023-06-30" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">229</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825959" contextRef="i_2023-06-30" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">10.84</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#x200b;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825961" contextRef="i_2023-06-30" unitRef="USDPerShare" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.56</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c100825962" format="ixt-sec:duryear">0.32</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825963" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Exercisable, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825964" contextRef="i_2023-06-30" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">229</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825965" contextRef="i_2023-06-30" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">10.84</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#x200b;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825967" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.56</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="c100825968" format="ixt-sec:duryear">0.32</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825969" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825970" contextRef="i_2023-06-30" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">229</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825971" contextRef="i_2023-06-30" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">10.84</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#x200b;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825973" contextRef="d_2023-01-01_2023-06-30" unitRef="USDPerShare" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.56</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" id="c100825974" format="ixt-sec:duryear">0.32</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c100825975" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric> &#xa0;
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em>, there was <ix:nonFraction id="c100825890" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="6" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> unrecognized stock option expense.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Performance Based Incentive Plan</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><i>&#x200b;</i>The Company approved to grant restricted performance stock units (&#x201c;PSUs&#x201d;) to senior executives as a part of our long-term equity compensation program starting from <em style="font: inherit;"> June 2021. </em>The number of shares of common stock that will ultimately be issued to settle PSUs granted ranges from&#xa0;<ix:nonFraction id="c100825891" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MinimumMember" unitRef="Pure" name="aaoi:SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>%&#xa0;to&#xa0;<ix:nonFraction id="c100825892" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MaximumMember" unitRef="Pure" name="aaoi:SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" scale="-2" format="ixt:numdotdecimal" decimals="0">200</ix:nonFraction>% of the number granted and is determined based on certain performance criteria over a <em style="font: inherit;">three</em>-year measurement period. The performance criteria for the PSUs are based on a combination of the performance of our stock price and the Total Shareholder Return (&#x201c;TSR&#x201d;) for the performance period compared with the TSR of certain peer companies or index for the performance period. PSUs granted vest&#xa0;<ix:nonFraction id="c100825894" contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember_VestingAxis-VestingOnTheThirdAnniversaryMember" unitRef="Pure" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" format="ixt:numdotdecimal" decimals="0">100</ix:nonFraction>% on the <em style="font: inherit;">third</em>&#xa0;anniversary of their grant, assuming achievement of the applicable performance criteria. We estimated the fair value of the PSUs using a Monte Carlo simulation model on the date of grant. Compensation expense is recognized ratably over the explicit service period<span style="background-color:#ffffff;">.&#xa0;The Company recognized </span>PSU expenses for the <em style="font: inherit;">three</em>&#xa0;months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>&#xa0;of $<ix:nonFraction id="c100825898" contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">0.5</ix:nonFraction> million and $<ix:nonFraction id="c100825899" contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">0.4</ix:nonFraction>&#xa0;million, respectively.&#xa0;<span style="background-color:#ffffff">The Company recognized </span>PSU expenses for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>&#xa0;of $<ix:nonFraction id="c100825902" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">0.9</ix:nonFraction>&#xa0;million and $<ix:nonFraction id="c100825903" contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" format="ixt:numdotdecimal" decimals="-5">0.7</ix:nonFraction> million, respectively.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">The following is a summary of PSU activity:</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" id="c2430035" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average Share</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Price on Date</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average Fair</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">of Release</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825992" contextRef="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">766</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825994" contextRef="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">6.75</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825995" contextRef="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">1,447</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825996" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">767</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825998" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">8.89</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100825999" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" scale="3" format="ixt:numdotdecimal" decimals="-3">3,566</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Released</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826000" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%;">&#xa0;</td><td style="width: 1%;">&#xa0;</td><td style="width: 9%; text-align: right;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826002" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:zerodash" decimals="INF">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826003" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cancelled/Forfeited</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826004" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826006" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" format="ixt:zerodash" decimals="INF">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826007" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" scale="3" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826008" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">1,533</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826010" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">7.82</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826011" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">9,134</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826012" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="Share" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,533</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826014" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USDPerShare" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">7.82</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826015" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" scale="3" format="ixt:numdotdecimal" decimals="-3">9,134</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em>, there was $<ix:nonFraction id="c100825904" contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" format="ixt:numdotdecimal" decimals="-5">8.7</ix:nonFraction> mil<span style="background-color:#ffffff">lion</span> of unrecognized compensation expense related to these PSUs. This expense is expected to be recognized over <ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c100825905" format="ixt-sec:duryear">2.5</ix:nonNumeric>&#xa0;y<span style="background-color:#ffffff">ears</span>.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -28pt; text-indent: 27pt;"><i>Restricted Stock Units</i></p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">The following is a summary of RSU&#xa0;activity:</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="c2430036" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Average Share</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Price on Date</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Average Fair</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">of Release</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="14" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"><ix:nonFraction id="c100826032" contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" scale="3" format="ixt:numdotdecimal" decimals="-4">2,210</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"><ix:nonFraction id="c100826034" contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.76</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"><ix:nonFraction id="c100826035" contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">4,175</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100826036" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">2,074</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100826038" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">4.60</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100826039" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" scale="3" format="ixt:numdotdecimal" decimals="-4">9,540</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Released</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c100826040" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" scale="3" format="ixt:numdotdecimal" decimals="-4">580</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826042" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">6.37</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826043" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">1,321</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cancelled/Forfeited</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c100826044" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" scale="3" format="ixt:numdotdecimal" decimals="-4">110</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826046" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">3.93</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826047" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" scale="3" format="ixt:numdotdecimal" decimals="-3">654</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826048" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" scale="3" format="ixt:numdotdecimal" decimals="-3">3,594</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><ix:nonFraction id="c100826050" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.05</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><ix:nonFraction id="c100826051" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" scale="3" format="ixt:numdotdecimal" decimals="-3">21,422</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826052" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="Share" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" scale="3" format="ixt:numdotdecimal" decimals="-3">3,594</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100826054" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USDPerShare" name="aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">5.05</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c100826055" contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" scale="3" format="ixt:numdotdecimal" decimals="-3">21,422</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em>, there was<span style="background-color:#ffffff;"> $<ix:nonFraction id="c100825906" contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" format="ixt:numdotdecimal" decimals="-5">15.8</ix:nonFraction> million</span> of unrecognized compensation expense related to these RSUs. This expense is expected to be recognized over <span style="background-color:#ffffff;"><ix:nonNumeric contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c100825907" format="ixt-sec:duryear">2.5</ix:nonNumeric> years</span>.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">17</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Share-Based Compensation</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>&#x200b;</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Employee share-based compensation expenses recognized for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="c2430037" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 44%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation - by expense type</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826069" contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">156</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826070" contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">114</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826071" contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">270</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826072" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">250</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826073" contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">480</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826074" contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">310</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826075" contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">777</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826076" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">675</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826077" contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">291</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826078" contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">186</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826079" contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">486</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826080" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">412</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826081" contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,135</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826082" contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,534</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826083" contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,819</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826084" contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,279</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total share-based compensation expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826085" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">3,062</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826086" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,144</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826087" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">5,352</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826088" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,616</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:IncomeTaxDisclosureTextBlock" id="c2430038" escape="true">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b><span style="background-color:#ffffff;">Note <em style="font: inherit;">16.</em>&#xa0; Income Taxes </span></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><b><span style="background-color:#ffff00;">&#x200b;</span></b><span style="background-color:#ffff00;">&#x200b;</span></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">For the <em style="font: inherit;">three</em> months ended&#xa0;<em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;">2022,</em> the effective tax rate varied from the federal statutory rate of <ix:nonFraction id="c100826096" contextRef="d_2023-04-01_2023-06-30" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" format="ixt:numdotdecimal" decimals="2">21</ix:nonFraction>% primarily due to the change of the valuation allowance on federal, state, Taiwan, and China deferred tax assets ("DTA").&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 45pt;">The Company continually monitors and performs an assessment of the realizability of its DTAs, including an analysis of factors such as future taxable income, reversal of existing taxable temporary differences, and tax planning strategies. In assessing the need for a valuation allowance, the Company considered both positive and negative evidence related to the likelihood of realization of deferred tax assets using a &#x201c;more likely than <em style="font: inherit;">not&#x201d;</em> standard. In making such assessment, more weight was given to evidence that could be objectively verified, including recent cumulative losses. Based on the Company&#x2019;s review of this evidence, management determined that a full valuation allowance against all of the Company&#x2019;s net deferred tax assets at <em style="font: inherit;"> June 30, 2023</em> was appropriate.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 45pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:SegmentReportingDisclosureTextBlock" id="c2430039" escape="true">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">17.</em>&#xa0; Geographic Information</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company operates in <span style="-sec-ix-hidden:c100826107">one</span> reportable segment. The Company&#x2019;s Chief Executive Officer, who is considered to be the chief operating decision maker, manages the Company&#x2019;s operations as a whole and reviews financial information presented on a consolidated basis, accompanied by information about product revenue, for purposes of evaluating financial performance and allocating resources.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#x200b;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The following tables set forth the Company&#x2019;s revenue and asset information by geographic region. Revenue is classified based on the location of where the product is manufactured. Long-lived assets in the tables below comprise only property, plant, equipment and intangible assets (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" id="c2430040" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenues:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826118" contextRef="d_2023-04-01_2023-06-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,702</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826119" contextRef="d_2022-04-01_2022-06-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,147</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826120" contextRef="d_2023-01-01_2023-06-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">9,141</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826121" contextRef="d_2022-01-01_2022-06-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,705</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Taiwan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826122" contextRef="d_2023-04-01_2023-06-30_StatementGeographicalAxis-TW" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">34,271</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826123" contextRef="d_2022-04-01_2022-06-30_StatementGeographicalAxis-TW" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">37,205</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826124" contextRef="d_2023-01-01_2023-06-30_StatementGeographicalAxis-TW" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">76,657</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826125" contextRef="d_2022-01-01_2022-06-30_StatementGeographicalAxis-TW" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">64,984</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">China</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826126" contextRef="d_2023-04-01_2023-06-30_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,642</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826127" contextRef="d_2022-04-01_2022-06-30_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">13,947</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826128" contextRef="d_2023-01-01_2023-06-30_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">8,847</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826129" contextRef="d_2022-01-01_2022-06-30_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">35,851</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826130" contextRef="d_2023-04-01_2023-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">41,615</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826131" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">52,299</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826132" contextRef="d_2023-01-01_2023-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">94,645</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826133" contextRef="d_2022-01-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">104,540</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="c2430041" escape="true">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">As of the period ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Long-lived assets:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#x200b;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826141" contextRef="i_2023-06-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">76,605</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826142" contextRef="i_2022-12-31_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">80,048</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Taiwan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826143" contextRef="i_2023-06-30_StatementGeographicalAxis-TW" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">47,002</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100826144" contextRef="i_2022-12-31_StatementGeographicalAxis-TW" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">50,777</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">China</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826145" contextRef="i_2023-06-30_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">88,193</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c100826146" contextRef="i_2022-12-31_StatementGeographicalAxis-CN" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">93,888</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826147" contextRef="i_2023-06-30" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-5">211,800</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c100826148" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:NoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">224,713</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">18</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="c2430042" escape="true">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">18.</em>&#xa0; Contingencies</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><b>Litigation</b></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Overview</i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">From time to time, the Company <em style="font: inherit;"> may </em>be subject to legal proceedings and litigation arising in the ordinary course of business, including, but <em style="font: inherit;">not</em> limited to, inquiries, investigations, audits and other regulatory proceedings, such as described below. The Company records a loss provision when it believes it is both probable that a liability has been incurred and the amount can be reasonably estimated.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">The Company believes that there are <em style="font: inherit;">no</em> claims or actions pending or threatened against it, the ultimate disposition of which would have a material adverse effect on it.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 0pt; text-align: left;"><i>Other Contingencies</i></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt; text-align: left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt; text-align: left;"><span style="background-color:#ffffff;">On&#xa0;<em style="font: inherit;"> August 9, 2021,&#xa0;</em>the Company received a Taxes Notification of Audit Result (&#x201c;Notice&#x201d;) from the Texas Comptroller&#x2019;s Office (the &#x201c;Comptroller&#x201d;), for fiscal years between&#xa0;<em style="font: inherit;">2016</em>&#xa0;and&#xa0;<em style="font: inherit;">2019,</em>&#xa0;informing the Company that the Comptroller believes the Company did&#xa0;<em style="font: inherit;">not</em>&#xa0;qualify for certain sales and use tax exemptions on various Research and Development purchases and accordingly the Company is liable for Sale and Use Tax in the amount of approximately $<ix:nonFraction id="c100826155" contextRef="d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember" unitRef="USD" name="aaoi:LossContingencyPotentialObigation" scale="6" format="ixt:numdotdecimal" decimals="-6">1.0</ix:nonFraction>&#xa0;million including interest charges. The Company paid $<ix:nonFraction id="c100826156" contextRef="d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember" unitRef="USD" name="us-gaap:LossContingencyAccrualPayments" scale="6" format="ixt:numdotdecimal" decimals="-5">0.4</ix:nonFraction>&#xa0;million for the tax notice in <em style="font: inherit;"> May 2021, </em>but challenged the remaining tax assessments and vigorously defended its position.&#xa0;</span>The Comptroller&#x2019;s office exhausted its redetermination period and therefore moved AOI&#x2019;s case to the hearing process. In <em style="font: inherit;"> April 2023 </em>the Company&#xa0;received&#xa0;a notice from an attorney representing the Administrative Hearings Section ("AHS") to issue a Position Letter. <em style="font: inherit;">No</em> updated action was taken in the <em style="font: inherit;">second</em> quarter.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2023-01-01_2023-06-30" name="us-gaap:SubsequentEventsTextBlock" id="c2430043" escape="true">
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Note <em style="font: inherit;">19.</em>&#xa0; Subsequent Events</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><span style="background-color:#ffffff;">&#x200b;</span></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">T</span>he Company repaid its revolving bank line of credit with CIT in the amount of $<ix:nonFraction id="c100826160" contextRef="d_2023-07-13_2023-07-13_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_SubsequentEventTypeAxis-SubsequentEventMember" unitRef="USD" name="us-gaap:RepaymentsOfDebt" scale="6" format="ixt:numdotdecimal" decimals="-5">5.8</ix:nonFraction> million on <em style="font: inherit;"> July 13, 2023.</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">19</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item2" title="item2" href="#"></a>Item 2.&#xa0;&#xa0;&#xa0;Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><i>You should read the following discussion and analysis of our financial condition and results of operations in conjunction with our consolidated financial statements and the accompanying notes appearing elsewhere in this Quarterly Report on Form 10-Q for the period ended June 30, 2023 and the audited consolidated financial statements and notes thereto and management&#x2019;s discussion and analysis of financial condition and results of operations for the fiscal year ended December 31, 2022 included in our Annual Report. References to &#x201c;Applied Optoelectronics,&#x201d; &#x201c;we,&#x201d; &#x201c;our&#x201d; and &#x201c;us&#x201d; are to Applied Optoelectronics, Inc. and its subsidiaries unless otherwise specified or the context otherwise requires.</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><i>&#x200b;</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><i>This Quarterly Report on Form 10-Q contains &#x201c;forward-looking statements&#x201d; that involve risks and uncertainties, as well as assumptions that, if they never materialize or prove incorrect, could cause our results to differ materially from those expressed or implied by such forward-looking statements. The statements contained in this Quarterly Report that are not purely historical are forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Terminology such as&#xa0;"believe," "may," "estimate," "continue," "anticipate," "intend," "should," "could," "would," "target," "seek," "aim," "believe," "predicts," "think," "objectives," "optimistic," "new," "goal," "strategy," "potential," "is likely," "will," "expect," "plan," "project," "permit," &#xa0;or by other similar expressions that convey uncertainty of future events or outcomes are intended to identify forward-looking statements.</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><i>&#x200b;</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><i>We have based these forward-looking statements largely on our current expectations and projections about future events and industry and financial trends that we believe may affect our financial condition, results of operations, business strategy and financial needs. Such forward-looking statements are subject to risks, uncertainties and other important factors that could cause actual results and the timing of events to differ materially from future results expressed or implied by such forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those identified in &#x201c;Part II &#x2014;Item 1A. Risk Factors&#x201d; provided below, and those discussed in other documents we file with the SEC, including our Report on Form 10-K for the year ended December 31, 2022 and subsequent Quarterly Reports on Form 10-Q. Furthermore, such forward-looking statements speak only as of the date of this Quarterly Report. Except as required by law, we undertake no obligation to update any forward-looking statements to reflect events or circumstances after the date of this Quarterly Report.</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Overview</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">We are a leading, vertically integrated provider of fiber-optic networking products. We target four networking end-markets: CATV, internet data centers, telecom and FTTH. We design and manufacture a range of optical communications products at varying levels of integration, from components, subassemblies and modules to complete turn-key equipment. In designing products for our customers, we typically begin with the fundamental building blocks of lasers and laser components. From these foundational products, we design and manufacture a wide range of products to meet our customers&#x2019; needs and specifications, and such products differ from each other by their end market, intended use and level of integration. We are primarily focused on the higher-performance segments within the CATV,&#xa0;internet data center, telecom and FTTH markets which increasingly demand faster connectivity and innovation. Our vertically integrated manufacturing model provides us several advantages, including rapid product development, fast response times to customer requests and control over product quality and manufacturing costs.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The four end markets we target are all driven by significant bandwidth demand fueled by the growth of network-connected devices, video traffic, cloud computing and online social networking. Within the CATV market, we benefit from a number of ongoing trends including the build-out of CATV infrastructure in the US and other countries, the move to higher bandwidth networks among CATV service providers and the outsourcing of system design among CATV networking equipment companies. Within the internet data center market, we benefit from the increasing use of higher-capacity optical networking technology as a replacement for copper cables, particularly as speeds reach 400 Gbps and above, as well as the movement to open internet data center architectures and the increasing use of in-house equipment design among leading internet companies. In the FTTH market, we benefit from continuing PON deployments and system upgrades among telecom service providers. In the telecom market, we benefit from deployment of new high-speed fiber-optic networks by telecom network operators, including 5G networks.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Our vertically integrated manufacturing model provides us several advantages, including rapid product development, fast response times to customer requests and greater control over product quality and manufacturing costs. We design, manufacture and integrate our own analog and digital lasers using a proprietary Molecular Beam Epitaxy, or MBE, and Metal Organic Chemical Vapor Deposition (MOCVD) fabrication process, which we believe is unique in our industry. We manufacture the majority of the laser chips and optical components that are used in our products. The lasers we manufacture are tested extensively to enable reliable operation over time and our devices are often highly tolerant of changes in temperature and humidity, making them well-suited to the CATV, FTTH and 5G telecom markets where networking equipment is often installed outdoors.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">We have three manufacturing sites: Sugar Land, Texas, Ningbo, China and Taipei, Taiwan. Our research and development functions are generally partnered with our manufacturing locations, and we have an additional research and development facility in Duluth, Georgia. In our Sugar Land facility, we manufacture laser chips (utilizing our MBE and MOCVD processes), subassemblies and components. The subassemblies are used in the manufacture of components by our other manufacturing facilities or sold to third parties as modules. We manufacture our laser chips only within our Sugar Land facility, where our laser design team is located. In our Taiwan location, we manufacture optical components, such as our butterfly lasers, which incorporate laser chips, subassemblies and components manufactured within our Sugar Land facility. Additionally, in our Taiwan location, we manufacture transceivers for the internet data center, telecom, FTTH and other markets. In our China facility, we take advantage of lower labor costs and manufacture certain more labor intensive components and optical equipment systems, such as optical subassemblies and transceivers for the CATV transmitters (at the headend), CATV outdoor equipment (at the node) and internet data center market. Each manufacturing facility conducts testing on the components, modules or subsystems it manufactures and each facility is certified to <span style="background-color:#ffffff;">ISO&#xa0;9001:2015. Our facilities in Ningbo, China, Taipei, Taiwan, and Sugar Land, Texas are all certified to ISO 14001:2015.</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Our business depends on winning competitive bid selection processes to develop components, systems and equipment for use in our customers&#x2019; products. These selection processes are typically lengthy, and as a result our sales cycles will vary based on the level of customization required, market served, whether the design win is with an existing or new customer and whether our solution being designed in our customers&#x2019; product is our first generation or subsequent generation product. We do not have any long-term purchase commitments (in excess of one year) with any of our customers, most of whom purchase our products on a purchase order basis.&#xa0;However, once one of our solutions is incorporated into a customer&#x2019;s design, we believe that our solution is likely to continue to be purchased for that design throughout that product&#x2019;s life cycle because of the time and expense associated with redesigning the product or substituting an alternative solution.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Our principal executive offices are located at 13139 Jess Pirtle Blvd., Sugar Land, TX 77478, and our telephone number is (281)&#xa0;295-1800.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       20
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;"><b>Divestiture Agreement&#xa0;with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd</b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">On September 15, 2022, we entered into a definitive purchase agreement and announced the planned divestiture to sell the manufacturing facilities in the People's Republic of China ("PRC") and certain assets related to our transceiver business and multi-channel optical sub-assembly products to Yuhan Optoelectronic Technology (Shanghai) Co., Ltd. ("Purchaser"), which is a company incorporated in the PRC. The transaction is expected to close in late 2023 or 2024 subject to satisfaction of certain closing conditions, including CFIUS approval.&#xa0;</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">The purchase price will be an amount equal to the $150 million USD equivalent of Renminbi, less a holdback amount. Prior to the closing of the transaction the Company anticipates investing an amount equal to between 4% and 10% of the estimated proceeds from the transaction in exchange for a 10% equity interest in the Purchaser. The proceeds from the transaction will enable the Company to make strategic investments in higher margin and higher growth opportunities. By exiting the transceiver market, the Company will focus its resources on its CATV business and manufacturing lasers and laser components for the CATV, datacenter, telecom and FTTH markets.</p>
  <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">Our management has performed an evaluation as required by ASC-360-10-45-9 to determine whether to classify certain of our assets and liabilities as held for sale as of&#xa0;June 30, 2023. ASC 360 requires that a company classifies a business as held for sale in the period in which management commits to a plan to sell the business, the business is available for immediate sale in its present condition, an active program to complete the plan to sell the business is initiated, the sale of the business within one year is probable and the business is being marketed at a reasonable price in relation to its fair value. Although we have announced the execution of a definitive purchase agreement regarding the Divestiture, completion of this transaction is not certain for reasons that include the fact that the proposed sale is subject to regulatory approval in the US and China, the timing and likelihood of which is uncertain and beyond our control, and the fact that we cannot be certain that the buyer will not request modification of terms within the definitive purchase agreement. As a result, we have concluded that at the present time the business is not "available for immediate sale" under the meaning defined in ASC 360 and therefore none of our assets or liabilities should be classified as held for sale.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Results of Operations</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The following table set forth our consolidated results of operations for the periods presented and as a percentage of our revenue for those periods (in thousands, except percentages):</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three months ended </b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three months ended </b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June</b> <b>30,</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June</b> <b>30,</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June</b> <b>30,</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June</b> <b>30,</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 10%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue, net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41,615</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">52,299</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">94,645</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">104,540</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">33,717</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">81.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">43,671</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">83.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">77,503</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">81.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">86,888</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">83.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,898</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,628</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,142</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,652</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating expenses</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,640</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,328</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,176</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,814</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,269</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,164</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,596</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,722</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,954</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,035</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">25,502</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,254</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total operating expenses</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">23,863</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">57.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21,527</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">41.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">47,274</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">49.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,790</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">42.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Loss from operations</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(15,965</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(38.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,899</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(24.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30,132</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(31.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27,138</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(26.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense)</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 6%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest income</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">31</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">70</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">59</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,175</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,408</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,312</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%&#xa0;</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,810</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income, net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,167</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(180</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,145</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(629</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other income (expense), net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(971</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,557</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,097</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,380</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Loss before income taxes</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(16,936</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(40.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,456</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(33,229</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(35.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30,518</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(29.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">&#x2014;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">0.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">&#x2014;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">0.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 28%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(16,944</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(40.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(14,456</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(27.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(33,237</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(35.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(30,518</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 6%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(29.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       21
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><i><b>Comparison of Financial Results</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Revenue</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">We generate revenue through the sale of our products to equipment providers and network operators for the CATV,&#xa0;internet data center, telecom and FTTH markets. We derive a significant portion of our revenue from our top ten customers, and we anticipate that we will continue to do so for the foreseeable future. The following charts provide the revenue contribution from each of the markets we served for the&#xa0;three and six months ended June 30, 2023 and&#xa0;2022 (in thousands, except percentages):</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,343</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">22.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23,713</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">45.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(14,370</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(60.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,571</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">66.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21,497</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,074</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">28.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,231</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,276</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">12.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,045</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(32.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">55</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">28</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">107.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">415</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">786</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(371</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(47.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total Revenue</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,615</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">52,299</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,684</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(20.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37,123</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">39.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">48,694</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">46.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(11,571</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(23.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">47,924</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,911</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,013</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,938</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,541</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3,603</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(31.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">57</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">124</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(67</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(54.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,603</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,270</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">333</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total Revenue</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,645</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">104,540</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(9,895</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(9.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">The decrease in revenue during the three and six months ended June 30, 2023&#xa0;was </span>primarily by less demand from a CATV major customer but partially offset by strong demand in data center product sales arising from another major customer.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">We have begun to see increased orders for our 400G data center products from several large customers. Based on forecasts from our customers, we expect increased demand for these products through the end of 2023. We entered into a supply agreement with Microsoft to design certain datacenter goods and build a supply chain to manufacture, assemble, sell and ship the goods to them or an authorized purchasing entity. The initial term of the agreement is five years with automatic renewal unless terminated earlier.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">For the three months ended </span>June 30, 2023 and 2022<span style="background-color:#ffffff;">, our top ten customers represented 88.1% and 87.1% of our revenue, respectively. For the six months ended </span>June 30, 2023 and 2022<span style="background-color:#ffffff;">, our top ten customers represented 90.6% and 87.9% of our revenue, respectively. We believe that diversifying our customer base is critical for our future success, since reliance on a small number of key customers makes our ability to forecast future results dependent upon the accuracy of the forecasts we receive from those key customers. We continue to prioritize new customer acquisition and growth of diverse revenue streams.</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Cost of goods sold and gross margin</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><b>%</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33,717</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">81.0</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">43,671</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83.5</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(9,954</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(22.8</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross margin</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,898</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19.0</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,628</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16.5</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(729</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.5</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">77,503</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">81.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">86,888</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">83.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(9,385</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(10.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross margin</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,142</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,652</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(510</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       22
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">Cost of goods sold decreased by $10.0 million, or 22.8% for the three months ended </span>June 30, 2023<span style="background-color:#ffffff;"> as compared to the three&#xa0;months ended </span>June 30, 2022<span style="background-color:#ffffff;">, primarily due to the 20.4% sales decrease.&#xa0;Cost of goods sold decreased by $9.4&#xa0;million&#xa0;for the six months ended </span>June 30, 2023<span style="background-color:#ffffff"> as compared to the six months ended </span>June 30, 2022<span style="background-color:#ffffff">, primarily due to the 9.5% sales decrease and offset with more cost saving.</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">Gross profit decreased by $0.7&#xa0;million, but gross margin increased by 2.5% for the three&#xa0;months ended </span>June 30, 2023<span style="background-color:#ffffff;"> as compared to the three&#xa0;months ended </span>June 30, 2022<span style="background-color:#ffffff;">, primarily as a result of less sales for some of our CATV products and offset with more cost saving.&#xa0;Gross profit decreased $0.5&#xa0;million, but gross margin increased by 1.2% for the six months ended </span>June 30, 2023<span style="background-color:#ffffff"> as compared to the six months ended </span>June 30, 2022<span style="background-color:#ffffff">, primarily as a result of less sales for some of our CATV&#xa0;products and offset with more cost saving.&#xa0;</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Operating expenses</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,640</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">20.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8,328</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">15.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">312</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,269</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,164</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">105</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,954</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,035</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,919</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total operating expenses</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,863</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">57.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,527</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,336</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,176</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17,814</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(638</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,596</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4,722</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(126</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">25,502</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,254</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,248</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total operating expenses</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">47,274</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">49.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">44,790</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">42.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,484</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">Research and development expense</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">&#x200b;</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">Research and development expense increased by $0.3&#xa0;million, or 3.8%&#xa0;for the three months ended </span>June 30, 2023<span style="background-color:#ffffff;"> as compared to the three months ended </span>June 30, 2022<span style="background-color:#ffffff;">. </span>The increases&#xa0;were&#xa0;primarily due to&#xa0;more personnel-related&#xa0;expense for&#xa0;hiring of engineers.&#xa0;<span style="background-color:#ffffff;">Research and development expense decreased by $0.6&#xa0;million, or 3.6%&#xa0;for the six months ended </span>June 30, 2023<span style="background-color:#ffffff"> as compared to the six months ended </span>June 30, 2022<span style="background-color:#ffffff;">. </span>The&#xa0;decreases&#xa0;were&#xa0;primarily due to&#xa0;less machine depreciation, materials and supplies used in R&amp;D activities combined with Asian currency exchange rate effects.&#xa0;<span style="background-color:#ffffff;">Research and development costs consist of R&amp;D work orders, R&amp;D material usage and other project related costs related to 100 Gbps, 200/400 Gbps data center products, DOCSIS 3.1 capable CATV products and other new product development, and depreciation expense resulting from R&amp;D equipment investments. </span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Sales and marketing expense</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#x200b;</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Sales and marketing expense increased by $0.1&#xa0;million, or 4.8% for the three months ended June 30, 2023 as compared to the three months ended June 30, 2022.&#xa0;Sales and marketing expense decreased by $0.1&#xa0;million, or 2.7% for the six months ended June 30, 2023 as compared to the six months ended June 30, 2022.&#xa0;Sales and marketing expense spending stayed at a flat level.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffff00;">&#x200b;</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">General and administrative expense</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">&#x200b;</span></i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">General and administrative expense increased&#xa0;by $1.9&#xa0;million, or 17.4% for the three months ended </span>June 30, 2023<span style="background-color:#ffffff;"> compared to the three months ended </span>June 30, 2022<span style="background-color:#ffffff;">. This increase was primarily due to an increase in </span>personnel-related costs including share-based compensation expense and&#xa0;<span style="background-color:#ffffff">professional service fees incurred due to the transaction for China </span>divestiture agreement<span style="background-color:#ffffff">, taxes and fees. </span><span style="background-color:#ffffff;">General and administrative expense&#xa0;increased&#xa0;by $3.2&#xa0;million, or 14.6% for the six months ended </span>June 30, 2023<span style="background-color:#ffffff"> compared to the six&#xa0;months ended </span>June 30, 2022<span style="background-color:#ffffff;">. This increase was primarily due to an increase in </span>personnel-related costs&#xa0;including share-based compensation expense and&#xa0;<span style="background-color:#ffffff;">professional service fees incurred due to the transaction for China </span>divestiture agreement<span style="background-color:#ffffff;">, taxes and fees.&#xa0;</span></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Other income (expense), net</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest income</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">31</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,175</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(5.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,408</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(766</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">54.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense), net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,167</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(180</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,346</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(749.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total other income (expense), net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(971</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(2.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,557</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(2.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">586</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(37.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest income</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">70</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">59</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">18.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4,312</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(4.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,810</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1,502</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">53.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense), net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,145</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(629</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,775</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(282.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total other income (expense), net</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(3,097</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(3.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(3,380</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(3.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">283</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(8.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)%</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       23
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Interest income increased for the three months ended June 30, 2023 compared to the three months ended June 30, 2022. The changes&#xa0;are similar to expected rates of fluctuation with the interest rates and cash balances.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Interest expense increased by $0.8&#xa0;million, or 54.4% and $1.5 million, or 53.5% each for the three and six months ended June 30, 2023 compared to the three and six months ended June 30, 2022. This increase was due to higher average interest rate and loan balance during the 2023 periods.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">Other income increased by $1.3 million, or 749.7%, for the three months ended </span>June 30, 2023<span style="background-color:#ffffff;"> as compared to the three months ended </span>June 30, 2022<span style="background-color:#ffffff;">.</span> This increase was&#xa0;mainly due to the other income received in the second quarter of 2023 from the China plant for several local government subsidized income in local city development plans and foreign currency gain arising from favorable exchange rate change.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff">Other income increased by $1.8 million, or 282.1%, for the six months ended </span>June 30, 2023<span style="background-color:#ffffff"> as compared to the six months ended </span>June 30, 2022<span style="background-color:#ffffff">.</span> This increase was&#xa0;mainly due to the other income received in the first half of 2023 from the China plant for several local government subsidized income in local city development plans and foreign currency gain arising from favorable exchange rate change.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 0pt;"><i><span style="background-color:#ffffff;">Benefit (provision) for income taxes</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Benefit (provision) for income taxes</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(8</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#x2014;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(8</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 40%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 46%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 16%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 46%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 40%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Benefit (provision) for income taxes</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#x2014;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(8</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff; font-family:&quot;Times New Roman&quot;, Times, serif; font-size:10pt">The Company&#x2019;s effective tax rate for the three months </span> ended June 30, 2023&#xa0;and 2022<span style="background-color:#ffffff; font-family:&quot;Times New Roman&quot;, Times, serif; font-size:10pt"> was 0%. For the six months </span> ended June 30, 2023&#xa0;and 2022, t<span style="background-color:#ffffff; font-family:&quot;Times New Roman&quot;, Times, serif; font-size:10pt">he Company&#x2019;s effective tax rate was 0%. T</span><span style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">he effective tax rate varied from the federal statutory rate of 21% primarily due to the change of the valuation allowance on federal, state, Taiwan, and China deferred tax assets ("DTA").&#xa0;</span></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">On August 9, 2022, the Creating Helpful Incentives to Produce Semiconductors Act ("CHIPS Act") was enacted.&#xa0; Among its provisions, the bill provides various federal grants, tax credits, and incentives for investment in the United States.&#xa0; On August 16, 2022, the Inflation Reduction Act (&#x201c;IRA&#x201d;) was also signed into law. Among other provisions, the IRA imposes a 15% corporate alternative minimum tax (&#x201c;Corporate AMT&#x201d;) for tax years beginning&#xa0;after December 31, 2022, imposes a 1% excise tax on corporate stock repurchases&#xa0;after December 31, 2022, and provides tax incentives to promote various energy efficient initiatives.&#xa0;We are evaluating these laws and their potential impact on our current income tax expense and cash taxes. However, we currently do not believe this will have an impact on our taxes for the 2023 tax year.</p>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;"><i>Comprehensive Loss</i></p>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>%</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net (loss)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(16,944</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(40.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(14,456</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(27.6</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,488</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">17.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gain (Loss) on foreign currency translation adjustment</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,293</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,583</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,290</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Comprehensive (loss)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(22,237</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(53.4</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(22,039</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(42.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(198</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Change</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>% of</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>revenue</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Amount</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>%</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except percentages)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(33,237</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(35.1</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(30,518</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(29.2</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(2,719</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gain (Loss) on foreign currency translation adjustment</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,654</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3.9</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(8,845</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(8.5</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,191</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(58.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Comprehensive loss</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(36,891</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(39.0</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(39,363</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(37.7</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,472</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(6.3</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)%</td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       24
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="margin: 0pt; text-align: left; text-indent: 36pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><span style="background-color:#ffffff;">Comprehensive loss increased by $0.2 million, or 0.9%, for the three months ended </span>June 30, 2023<span style="background-color:#ffffff;">&#xa0;as compared to the three months ended </span>June 30, 2022<span style="background-color:#ffffff;">, primarily due to increase of net loss of $2.5 million and decrease of $2.3&#xa0;million in loss on foreign currency translation adjustments for non-U.S.&#xa0;dollar functional currency operations.&#xa0;</span></p>
  <p style="margin: 0pt; text-align: left; text-indent: 36pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <p style="margin: 0pt; text-align: left; text-indent: 36pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><span style="background-color:#ffffff">Comprehensive loss decreased by $2.5&#xa0;million, or 6.3%, for the six months ended </span>June 30, 2023<span style="background-color:#ffffff">&#xa0;as compared to the six months ended </span>June 30, 2022<span style="background-color:#ffffff">, primarily due to increase of net loss of $2.7 million and decrease of $5.2 million in loss on foreign currency translation adjustments for non-U.S.&#xa0;dollar functional currency operations.&#xa0;</span></p>
  <p style="margin: 0pt; text-align: left; text-indent: 36pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <p style="margin: 0pt; text-align: left; text-indent: 36pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><span style="background-color:#ffffff;">The functional currency for the Company&#x2019;s operations is generally the applicable local currency. Accordingly, the assets and liabilities of companies whose functional currency is other than the U.S.&#xa0;dollar are included in the consolidated financial statements by translating the assets and liabilities into the U.S. dollar at the exchange rates applicable at the end of the reporting period. Translation gains or losses are accumulated in other comprehensive income (loss) in the consolidated statements of shareholders&#x2019; equity and are also included in comprehensive loss.</span></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Liquidity and Capital Resources</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of June 30, 2023, we ha<span style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">d $32.5&#xa0;million </span>of unused borrowing capacity from all of our loan agreements. As of June 30, 2023, our cash, cash equivalents and restricted cash totale<span style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">d $28.6&#xa0;million. </span>Cash and cash equivalents are held for working capital purposes and are invested primarily in money market or time deposit funds. We do not enter into investments for trading or speculative purposes.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><i>ATM Offerings</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">On January 5, 2023, the Company filed a Registration Statement on Form S-3 with the Securities and Exchange Commission, which was declared effective on March 21, 2023, providing for the public offer and sale of certain securities of the Company from time to time, at our discretion, up to an aggregate amount of $185 million. Pursuant to Rule 415(a)(6) under the Securities Act, the securities registered pursuant to this registration statement include unsold securities previously registered for sale pursuant to our previously filed Registration Statement on Form S-3, which became effective on January 9, 2020.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">On March 24, 2023, we entered into an Equity Distribution Agreement (the &#x201c;Agreement&#x201d;) with Raymond James &amp; Associates (the &#x201c;Sales Agent&#x201d;) pursuant to which the Company may issue and sell shares of the Company&#x2019;s common stock, par value $0.001 per share (the &#x201c;Shares&#x201d;) having an aggregate offering price of up to $35 million (the &#x201c;ATM Offering&#x201d;),&#xa0;from time to time through the Sales Agent. Upon delivery of a placement notice and subject to the terms and conditions of the Agreement, sales, if any, of the Shares will be made through the Sales Agent in transactions that are deemed to be &#x201c;at the market&#x201d; offerings as defined in Rule 415 of the Securities Act of 1933, as amended (the &#x201c;Securities Act&#x201d;), including sales made through the facilities of the Nasdaq Global Market, the principal trading market for the Company&#x2019;s common stock, on any other existing trading market for the Company&#x2019;s common stock, to or through a market maker or as otherwise agreed by the Company and the Sales Agent. In the placement notice, the Company will designate the maximum number of Shares to be sold through the Sales Agent, the time period during which sales are requested to be made, the minimum price for the Shares to be sold, and any limitation on the number of Shares that may be sold in any one day. Subject to the terms and conditions of the Agreement, the Sales Agent will use its commercially reasonable efforts to sell Shares on the Company&#x2019;s behalf up to the designated amount specified in the placement notice. The Company has no obligation to sell any Shares under the Agreement and may at any time suspend offers and sales of the Shares under the Agreement.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Agreement provides that the Sales Agent will be entitled to compensation of up to 2% of the gross sales price of the Shares sold through the Sales Agent from time to time. The Company has also agreed to reimburse the Sales Agent for certain specified expenses in connection with the registration of Shares under state blue sky laws and any filing with, and clearance of the offering by, the Financial Industry Regulatory Authority Inc., not to exceed $10,000 in the aggregate, and any associated application fees incurred. Additionally, if the Agreement is terminated under certain circumstances, and the Company fails to sell a minimum amount of the Shares as set forth in the Agreement, then the Company has agreed to reimburse the Sales Agent for reasonable out-of-pocket expenses, including the reasonable fees and disbursements of counsel incurred by the Sales Agent, up to a maximum of $30,000 in the aggregate. The Company agreed to indemnify the Sales Agent against certain liabilities, including liabilities under the Securities Act, or to contribute to payments that the Sales Agent may be required to make because of any of those liabilities.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">The details of the shares of common stock sold through the ATM Offering are as follows (in thousands, except shares and weighted average per share price):</span></p>
  <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
  <table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 34%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Distribution Agent</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 10%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>Month</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Number of Shares Sold</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Weighted Average Per Share Price</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Gross Proceeds</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Compensation to Distribution Agent</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Net Proceeds</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raymond James &amp; Associates, Inc.</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">June 2023</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,497</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.0364</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,081</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">202</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,879</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 10%;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding: 0px; border-top: 1px solid black; border-bottom: 3px double black;">2,497</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-top: 1px solid black; border-bottom: 3px double black;">10,081</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-top: 1px solid black; border-bottom: 3px double black;">202</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-top: 1px solid black; border-bottom: 3px double black;">9,879</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       25
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 0pt;"><i>Note Offering </i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">On March 5, 2019, the Company issued&#xa0;$80.5 million&#xa0;of 5% convertible senior notes due 2024 (the "Notes"), bearing interest at a rate of 5% per year maturing on March&#xa0;15, 2024, unless earlier repurchased, redeemed or converted in accordance with their terms. The sale of the Notes generated net proceeds of $76.4 million, after expenses.&#xa0;Also, refer to Note 12 &#x201c;Convertible Senior Notes&#x201d; to the consolidated financial statements for further discussion of the Notes.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 0pt;"><i>Operating activities</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 9pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The table below sets forth selected cash flow data for the periods presented (in thousands):</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Six months ended June 30,</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2023</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2022</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash provided by (used in) operating activities</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,868</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,350</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash (used in) investing activities</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,910</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,010</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash (used in) provided by financing activities</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(11,786</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,002</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Effect of exchange rates on cash and cash equivalents</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">853</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">872</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net (decrease) in cash and cash equivalents</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(6,975</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(486</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;<i><span style="background-color:#ffff00;">&#x200b;</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the six months ended June 30, 2023, net cash generated in operating activities was $5.9 million. Net cash provided by operating activities consisted of our net loss of $33.2 million after exclusion of non-cash items of $20.4 million. Cash increased due to a net decrease in accounts and trade notes receivable of $18.1 million,&#xa0;together with a&#xa0;decrease in inventory of $7.0&#xa0;million and a major customer advance payment for unearned revenue of $8.7 million, offset with a&#xa0;decrease in accounts payable of $12.7&#xa0;million and accrued liabilities of $2.4 million,&#xa0;respectively.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffff00;">&#x200b;</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the <span style="background-color:#ffffff">six months ended </span>June 30, 2022<span style="background-color:#ffffff">,</span> net cash used in operating activities was $1.4&#xa0;million. Net cash used in operating activities consisted of our net loss of $30.5 million after exclusion&#xa0;of&#xa0;non-cash items of $20.8 million. Cash decreased due to an increase in inventory of $11.5 million, a decrease in accrued liabilities of $2.7 million and an increase of $2.1 million in other current assets, offset&#xa0;with&#xa0;an&#xa0;increase&#xa0;in accounts payable of $11 million and a net decrease in accounts and trade notes receivable&#xa0;from our customers of $13.8 million.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">Investing activities</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">&#x200b;</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the&#xa0;six months ended June 30, 2023, net cash used in investing activities was $1.9 million, mainly from the purchase of additional plant, machinery and equipment.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">For the six months ended June 30, 2022, net cash used in investing activities was $2.0 million, mainly from the purchase of additional plant, machinery and equipment.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Financing activities</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#x200b;</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the six months ended June 30, 2023, net cash used in&#xa0;financing activities was $11.8 million. This decrease in cash was due to&#xa0;repayment of $18.6 million on our lines of credit and repayment of $3.3 million bank acceptances payable, offset by&#xa0;net proceeds of $10.3 million from the ATM&#xa0;Offering.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">For the <span style="background-color:#ffffff">six months ended </span>June 30, 2022<span style="background-color:#ffffff">,</span> our financing activities generated $2.0 million in cash. This increase in cash was due to $6.9 million net proceeds from lines of credit and $2.7 million net proceeds from acceptances, offset by repayment of loan of $7.3 million.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Loans and commitments</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#x200b;</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">We have lending arrangements with several financial institutions. In the US, we have a revolving line of credit with CIT. The&#xa0;line&#xa0;of credit contains financial covenants that may limit the amount and types of debt that we may incur. As of June 30, 2023, we were in compliance with these covenants.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">As of </span>June 30, 2023<span style="background-color:#ffffff;">, we had $32.5&#xa0;million of unused borrowing capacity.</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">On March 5, 2019, we issued&#xa0;$80.5 million&#xa0;of 5% convertible senior notes due in 2024. The Notes will mature on March&#xa0;15, 2024, unless earlier repurchased, redeemed or converted in accordance with their terms.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">See Note 11 &#x201c;Notes Payable and Long-term Debt&#x201d; and Note 12 &#x201c;Convertible Senior Notes&#x201d; of our Condensed Consolidated Financial Statements for a description of our notes payable and long-term debt and convertible senior notes.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       26
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">China factory construction</span></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">&#x200b;</span></i></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">On February 8, 2018, we entered into a construction contract with Zhejiang Xinyu Construction Group Co., Ltd. for the construction of a new factory and other facilities at our Ningbo, China location. Construction costs for these facilities under this contract are estimated to total approximately $27.5 million. As of June 30, 2023, construction of the building shell is complete, and approximately $27.4 million of this total cost has been paid and the remaining portion will be paid in yearly installments for three years after final inspection. We anticipate additional expenses for building improvements to the factory and we are in the process of evaluating the timing of these expenditures and obtaining bids for any such work. Based on forecasts, we believe the factory will be placed in service in the year&#xa0;2024 after the construction is completed for the building interior work. Property will be transferred from construction in progress to building and improvement at that time.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Future liquidity needs</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#x200b;</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">We had cash, cash equivalents and restricted cash of $28.6 million as of June 30, 2023, a decrease of approximately $7.0 million compared to December 31, 2022.&#xa0;&#xa0;Our future capital requirements will depend on many factors including our growth rate, the timing and extent of spending to support our research and development efforts, the expansion of our sales and marketing activities, the introduction of new and enhanced products, the building improvement of a new factory and other facilities at our Ningbo, China location, changes in our manufacturing capacity and the continuing market acceptance of our products.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">As of June 30, 2023, we had a total loan balance (excluding convertible notes) of $38.3 million from various lenders in the US and China and had $32.5 million available borrowing capacity on existing credit lines. Should additional liquidity be needed, our Board has authorized issuance of equity totaling up to $35 million under the ATM Offering (see the discussion of "Liquidity and Capital Resources" in Item 2).</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">On September 15, 2022, the Company entered into a definitive purchase agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd ("Purchaser"), which is a company incorporated in the People's Republic of China ("PRC"), to divest our manufacturing facilities in PRC and certain assets related to our transceiver business and multi-channel optical sub-assembly products (collectively, the "Divestiture"). The purchase price will be an amount equal to the $150 million USD equivalent of Renminbi, less a holdback amount.&#xa0;Prior to the closing of the transaction we anticipate investing an amount equal to between 4% and 10% of the estimated proceeds from the transaction in exchange for a 10% equity interest in the Purchaser.&#xa0; The remaining funds from this transaction will significantly enhance our liquidity.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">In the event we need additional liquidity, we will explore additional sources of liquidity. These additional sources of liquidity could include one, or a combination, of the following: (i) issuing equity or debt securities, (ii) incurring indebtedness secured by our assets and (iii) selling product lines, other assets and/or portions of our business. There can be no guarantee that we will be able to raise additional funds on terms acceptable to us, or at all.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;"><b>Contractual Obligations and Commitments</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Please refer to Item 7 "Management's Discussion and Analysis of Financial Condition and Results of Operations" in the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2022 for a complete discussion of its contractual obligations and commitments.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Inflation</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;The annual inflation rate in 2022 slowed down to 2.95% in&#xa0;Taiwan, which should remain the same in 2023 and was 6.5% in the US. Estimated inflation rate in the US is expected to continue to decline&#xa0;in 2023 based on U.S. Federal monetary policy &#x201c;tapering&#x201d; to address inflation.&#xa0;&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Cost inflation included increases in shipping costs, labor rates, and costs of some raw materials.&#xa0;We currently&#xfeff; believe these increases are related to the COVID-19 pandemic, however we cannot be sure when or if prices will return to pre-pandemic levels.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">There is no guarantee that we can increase selling prices or reduce costs to fully mitigate the effect of inflation on our costs, which may adversely impact our sales margins and profitability.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Compared to other major economies in the world, China has a low level of inflation or even in deflation, which has not had a significant impact on our sales or operating results.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Critical Accounting Policies and Estimates</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">In our Annual Report for the year ended December 31, 2022 and in the Notes to the Financial Statements herein, we identify our most critical accounting policies. In preparing the financial statements, we make assumptions, estimates and judgments that affect the amounts reported. We periodically evaluate our estimates and judgments that are most critical in nature which are related to revenue recognition, allowance for credit losses, inventory reserves, impairment of long-lived assets, service and product warranties, share based compensation expense, estimated useful lives of property and equipment, and income taxes. Our estimates are based on historical experience and on our future expectations that we believe are reasonable. The combination of these factors forms the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results are likely to differ from our current estimates and those differences may be material.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       27
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
       &#xa0;
     </div>
    </div>
   </div>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item3" title="item3" href="#"></a>Item 3.&#xa0;&#xa0;&#xa0;Quantitative and Qualitative Disclosures about Market Risk</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For quantitative and qualitative disclosures about market risk affecting the Company, see Item 7A &#x2013; Quantitative and Qualitative Disclosures about Market Risk in our Annual Report for the fiscal year ended December 31, 2022. We do not believe the Company&#x2019;s exposure to market risk has changed materially since December 31, 2022.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item4" title="item4" href="#"></a>Item 4.&#xa0;&#xa0;&#xa0;Controls and Procedures</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The term &#x201c;disclosure controls and procedures,&#x201d; as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the SEC&#x2019;s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company&#x2019;s management, including its principal executive and principal financial officers, as appropriate to allow timely decisions regarding required disclosure.&#xa0;Our disclosure controls and procedures are designed to provide reasonable assurance of achieving their control objectives.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures as of June 30, 2023. Based upon that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that, as of the end of the period covered by this report, our disclosure controls and procedures were effective.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#x200b;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><b>Changes in Internal Control over Financial Reporting</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><b>&#x200b;</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">There were no changes in our internal control over financial reporting during the three month period covered by this Quarterly Report on Form 10-Q, which were identified in connection with management&#x2019;s evaluation required by the Rules 13a-15(d) and 15d-15(d) under the Exchange Act that occurred during our last fiscal quarter that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: center;"><b><a id="part2" title="part2" href="#"></a>Part II. Other Information</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="legal" title="legal" href="#"></a>Item 1.&#xa0;&#xa0;&#xa0;Legal Proceedings</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Information with respect to legal proceedings can be found in Note 18 to the Condensed Consolidated Financial Statements contained in Part 1, Item 1 of this report.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"><b><a id="risk" title="risk" href="#"></a>Item 1A.&#xa0;&#xa0;Risk Factors</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Investing in our common stock involves a high degree of risk. See Part I, Item 1A, Risk Factors, of our Annual Report on Form 10-K for the year ended<span style="background-color:#ffffff;"> December 31, 2022&#xa0;f</span>or a detailed discussion of the risk factors affecting our Company. As of June 30, 2023, there have been no material changes to those risk factors, except as described below.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><b>The announcement and pendency of our proposed sale of our China manufacturing facilities could materially adversely affect our business, financial condition, and results of operations. </b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">On September 15, 2022, AOI and Prime World International Holdings Ltd. (the "Seller"), which is a company incorporated in the British Virgin Islands and wholly owned subsidiary of AOI, entered into a definitive agreement (the "Purchase Agreement") with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd. (the "Purchaser"), which is a company incorporated in the PRC, under which AOI would divest its manufacturing facilities located in the PRC and certain assets related to its transceiver business and multichannel optical sub-assembly products for the internet data center, FTTH and telecom markets. The purchase price payable by the Purchaser to the Seller will be an amount equal to the $150 million USD equivalent of Renminbi, less a holdback amount. Prior to the closing of this transaction, AOI anticipates investing an amount equal to between 4% and 10% of the estimated proceeds from the transaction in exchange for a 10% equity interest in the Purchaser. This transaction is expected to close in late 2023 or 2024, subject to customary closing conditions and regulatory approval.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#xa0;</p>
  <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0pt; text-indent: 36pt;">
    The announcement and pendency of our proposed divestiture could disrupt our business and create uncertainty about our future, which could have a material and negative impact on our business, financial condition, and results of operations, regardless of whether the divestiture is completed. These risks to our business, all of which could be exacerbated by any delay in the closing of the divestiture, include:
  </div>
  <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-indent: 36pt;">
    &#xa0;
  </div>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: top;">
     <td style="width: 36pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#x2022;</p> </td>
     <td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">restrictions in the Purchase Agreement on the conduct of our business prior to the closing of the divestiture, which prevent us from taking specified actions without the prior consent of Purchaser, which actions we might otherwise take in the absence of the Purchase Agreement.</p> </td>
    </tr>

    <tr style="vertical-align: top;">
     <td style="width: 36pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#x2022;</p> </td>
     <td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">the attention of our management may be directed towards the closing of the divestiture and may be diverted from our day-to-day business operations, and matters related to the divestiture may require commitments of time and resources that could otherwise have been devoted to other opportunities that might have been beneficial to us;</p> </td>
    </tr>

    <tr style="vertical-align: top;">
     <td style="width: 36pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#x2022;</p> </td>
     <td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">our customers, suppliers and other third parties may decide not to renew or seek to terminate, change or renegotiate their relationships with us, whether pursuant to the terms of their existing agreements with us or otherwise;</p> </td>
    </tr>

    <tr style="vertical-align: top;">
     <td style="width: 36pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#x2022;</p> </td>
     <td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">our employees may experience uncertainty regarding their future roles, which might adversely affect our ability to retain, recruit and motivate key personnel; and</p> </td>
    </tr>

    <tr style="vertical-align: top;">
     <td style="width: 36pt;">&#xa0;</td>
     <td style="width: 18pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#x2022;</p> </td>
     <td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">potential litigation relating to the divestiture and the related costs.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 62pt;text-indent:-18pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt;">Any of these matters could adversely affect our stock price, business, financial condition, results of operations, or business prospects. In addition, divestiture of our manufacturing facilities in the PRC also contains inherent risks that may impact our ability to fully realize the benefits of such divestiture, including possible delays in closing and potential post-closing claims for indemnification. The divestiture may also have a dilutive impact on our future earnings if we are unable to offset the dilutive impact from the loss of revenue associated with the divestiture, as well as significant write-offs, including those related to goodwill and other intangible assets. If any of these risks materialize, the benefits of such divestiture may not be fully realized, if at all, and our business, financial condition, and results of operations could be negatively impacted.</p>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       28
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#x200b;</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Item 5. Other Information</b></p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">none.</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="exhibits" title="exhibits" href="#"></a>Item 6.&#xa0;&#xa0;&#xa0;Exhibits</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">See Exhibit Index.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>EXHIBIT INDEX</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>&#x200b;</b></p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:bottom;border-bottom:solid 1px #000000;;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"><b>Number</b></p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;&#xa0;&#xa0;&#xa0;</b></p> </td>
     <td style="vertical-align:bottom;border-bottom:solid 1px #000000;;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Description</b></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;border-bottom: 1px #000000;;width:10.7%;">2.1*</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td style="vertical-align:top;border-bottom: 1px #000000;;width:84.9%;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000110465922100456/tm2225831d1_ex2-1.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Agreement for the Sale and Purchase of a New Company to Be Established in Hong Kong Special Administrative Region of The People&#x2019;</span><span style="text-decoration: underline; ">s Republic of China, dated as of September 15, 2022, by and between Prime World International Holdings Ltd., Applied Optoelectronics, Inc. and Yuhan Optoelectronic Technology (Shanghai) Co., Ltd. (filed as Exhibit 2.1 to the Registrant</span><span style="text-decoration: underline; ">&#x2019;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed with the Securities and Exchange Commission on September 15, 2022).</span></a></td>
    </tr>

    <tr>
     <td style="vertical-align:top;border-bottom: 1px #000000;;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td style="vertical-align:top;border-bottom: 1px #000000;;width:84.9%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;border-bottom: 1px #000000;;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">3.1*</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;border-bottom: 1px #000000;;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000101968713004306/aaoi_10q-ex0301.htm" style="-sec-extract:exhibit;">Amended and Restated Certificate of Incorporation, as currently in effect (filed as Exhibit 3.1 to the Registrant&#x2019;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on November 14, 2013).</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">3.2*</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000101968713004306/aaoi_10q-ex0302.htm" style="-sec-extract:exhibit;">Amended and Restated Bylaws, as currently in effect (filed as Exhibit 3.2 to the Registrant&#x2019;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on November 14, 2013).</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">4.1*</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000110465915051289/a15-15715_1ex4d1.htm" style="-sec-extract:exhibit;">Common Stock Specimen (filed as Exhibit 4.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on July 15, 2015).</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:84.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">4.2*</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000110465919012900/a19-4821_4ex4d1.htm" style="-sec-extract:exhibit;">Indenture, dated as of March 5, 2019 between Applied Optoelectronics, Inc. and Wells Fargo Bank, National Association, as trustee, paying agent, and conversion agent (filed as Exhibit 4.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 5, 2019).</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">4.3*</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000110465919012900/a19-4821_4ex4d1.htm" style="-sec-extract:exhibit;">Form of Note representing the Company&#x2019;s 5.00% Convertible Senior Notes due 2024 (included as Exhibit A to the Indenture filed as Exhibit 4.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 5, 2019).</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">10.1*</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000168316823002885/aaoi_ex1001.htm" style="-sec-extract:exhibit;">Statement of Work No. 1 &#xfeff;&#x2013; Foundry between Applied Optoelectronics, Inc. and Microsoft Corporation, effective December 16, 2022 (filed as Exhibit 10.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on May 3, 2023).</a></td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">10.2*</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000168316823002885/aaoi_ex1001.htm" style="-sec-extract:exhibit;">Microsoft Corporation Purchase Order Terms &amp; Conditions (included as Appendix C to Statement of Work No. 1 filed as Exhibit 10.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on May 3, 2023).</a></td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">10.3*</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000168316823004130/applied_ex1001.htm" style="-sec-extract:exhibit;">Third Amendment to Lease, dated June 9, 2023, between Applied Optoelectronics, Inc. and Albany Road-Breck Exchange LLC (filed as Exhibit 10.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on June 14, 2023).</a></td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">10.4*</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000168316823004319/aaoi_ex1001.htm" style="-sec-extract:exhibit;">Statement of Work No. 2 &#x2013; Design and Assembly, between Applied Optoelectronics, Inc. and Microsoft Corporation, effective June 21, 2023 (filed as Exhibit 10.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on June 21, 2023).</a></td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">10.5*</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"><a href="http://www.sec.gov/Archives/edgar/data/1158114/000168316823004319/aaoi_ex1001.htm" style="-sec-extract:exhibit;">Microsoft Corporation Purchase Order Terms &amp; Conditions (included as Appendix J to Statement of Work No. 2 filed as Exhibit 10.1 to the Registrant&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on June 21, 2023).</a></td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">31.1**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_536763.htm" style="-sec-extract:exhibit;">Certification of Chief Executive Officer pursuant to Exchange Act Rule, 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">31.2**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_536764.htm" style="-sec-extract:exhibit;">Certification of Chief Financial Officer pursuant to Exchange Act Rule, 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">32.1**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_536765.htm" style="-sec-extract:exhibit;">Certification pursuant to 18 U.S.C. 1350, adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, by Chief Executive Officer and Chief Financial Officer.</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#xa0;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">101.INS**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Inline XBRL Instance &#x2013; the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">101.SCH**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Inline XBRL Taxonomy Extension Schema Document.</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">101.CAL**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">101.DEF**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Inline XBRL Taxonomy Extension Definition Linkbase Document.</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">101.LAB**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Inline XBRL Taxonomy Extension Label Linkbase Document.</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">101.PRE**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:10.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">104**</p> </td>
     <td style="vertical-align:bottom;width:4.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td colspan="1" style="vertical-align:top;width:85.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</p> </td>
    </tr>

   </tbody>
  </table>
  <hr style="text-align: left; height: 1px; color: #000000; background-color: #000000; width: 10%; border: none; margin: 3pt auto 3pt 0" />
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">*&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Incorporated herein by reference to the indicated filing.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">**&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Filed herewith.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       29
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink" style="display: inline-block; text-align: left;">
      <a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: Times New Roman; font-size: 10pt;">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="sigs" title="sigs" href="#"></a>SIGNATURES</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>&#x200b;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td colspan="2" style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>APPLIED OPTOELECTRONICS,&#xa0;INC.</b></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:3.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:46.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Date: August 3, 2023</p> </td>
     <td style="vertical-align:top;width:3.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">By:</p> </td>
     <td style="vertical-align:bottom;border-bottom:solid 1px #000000;;width:46.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ STEFAN J. MURRY</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:3.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:46.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;font-variant:small-caps;margin:0pt;text-align:left;">Stefan J. Murry</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:3.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:46.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Chief Financial Officer</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:top;width:3.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#x200b;</p> </td>
     <td style="vertical-align:bottom;width:46.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>(principal financial officer and principal accounting officer)</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;">&#x200b;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#x200b;</p>
  <div class="LAST-PAGE-BREAK">
   <div class="PGFTR">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       30
     </div>
    </div>
   </div>
  </div>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex_536763.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<html><head>
	<title>ex_536763.htm</title>
	<!-- Generated by ThunderDome Portal - 7/27/2023 8:44:55 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: right;"><b>Exhibit 31.1</b>&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">&nbsp;&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Certification</b>&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">I, Chih-Hsiang (Thompson) Lin, certify that:</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">1.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">I have reviewed this Quarterly Report on Form 10-Q of Applied Optoelectronics, Inc.;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">2.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">3.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">4.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">a)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">b)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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&nbsp;financial statements for external purposes in accordance with generally accepted accounting principles;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">c)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Evaluated the effectiveness of the registrant&#8217;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</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">d)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">5.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">a)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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&#8217;s ability to record, process, summarize and report financial information; and</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">b)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Date: August 3, 2023</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align:top;border-bottom:solid 1px #000000;;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ CHIH-HSIANG (THOMPSON) LIN</p>
			</td>
			<td style="vertical-align:top;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;border-bottom: 1px #000000;;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">CHIH-HSIANG (THOMPSON) LIN</p>
			</td>
			<td style="vertical-align:top;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">President and Chief Executive Officer</p>
			</td>
			<td style="vertical-align:top;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex_536764.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<html><head>
	<title>ex_536764.htm</title>
	<!-- Generated by ThunderDome Portal - 7/27/2023 8:45:13 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: right;"><b>Exhibit 31.2</b>&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Certification</b>&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">I, Stefan J. Murry, certify that:</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">1.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">I have reviewed this Quarterly Report on Form 10-Q of Applied Optoelectronics, Inc.;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">2.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">3.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">4.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">a)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">b)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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&nbsp;financial statements for external purposes in accordance with generally accepted accounting principles;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">c)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Evaluated the effectiveness of the registrant&#8217;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</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">d)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">5.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">a)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">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&#8217;s ability to record, process, summarize and report financial information; and</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:72pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-18pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 36pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">b)</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Date: August 3, 2023</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align:bottom;border-bottom:solid 1px #000000;;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ STEFAN J. MURRY</p>
			</td>
			<td style="vertical-align:bottom;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;border-bottom: 1px #000000;;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">STEFAN J. MURRY</p>
			</td>
			<td style="vertical-align:bottom;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Chief Financial Officer</p>
			</td>
			<td style="vertical-align:bottom;width:50%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ex_536765.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html><head>
	<title>ex_536765.htm</title>
	<!-- Generated by ThunderDome Portal - 7/27/2023 8:45:43 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: right;"><b>Exhibit 32.1</b>&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Certification</b>&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Pursuant to the requirement set forth in Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), and Section 1350 of Chapter 63 of Title 18 of the U.S. Code (18 U.S.C. &#167; 1350), Chih-Hsiang (Thompson) Lin, President and Chief Executive Officer of Applied Optoelectronics, Inc. (the &#8220;Company&#8221;), and Stefan J. Murry, Chief Financial Officer and Senior Vice President of the Company, each hereby certifies that, to the best of his knowledge:</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">1.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company&#8217;s Quarterly Report on Form 10-Q for the period ended <a data-tblloc="5x1" data-tblname="53890" data-tblv="72" id="led53890F20214271622125673980">June 30, 2023</a>, to which this Certification is attached as Exhibit 32.1 (the &#8220;Quarterly Report&#8221;) fully complies with the requirements of Section 13(a) or Section 15(d) of the Exchange Act; and</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:43.2pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-25.2pt;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">2.</p>
			</td>
			<td>
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The information contained in the Quarterly Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">In Witness Whereof, the undersigned have set their hands hereto as of the 3<sup style="vertical-align:top;line-height:120%;">rd</sup> day of August 2023.</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&nbsp;&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align:bottom;border-bottom:solid 1px #000000;;width:48.6%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ CHIH-HSIANG (THOMPSON) LIN</p>
			</td>
			<td style="vertical-align:top;width:2.9%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;</p>
			</td>
			<td style="vertical-align:bottom;border-bottom:solid 1px #000000;;width:48.5%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ STEFAN J. MURRY</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;border-bottom: 1px #000000;;width:48.6%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">CHIH-HSIANG (THOMPSON) LIN</p>
			</td>
			<td style="vertical-align:top;width:2.9%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:bottom;border-bottom: 1px #000000;;width:48.5%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">STEFAN J. MURRY</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:48.6%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">President and Chief Executive Officer</p>
			</td>
			<td style="vertical-align:top;width:2.9%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:bottom;width:48.5%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Chief Financial Officer</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">This certification accompanies the Quarterly Report to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of Applied Optoelectronics, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Quarterly Report), irrespective of any general incorporation language contained in such filing.</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>aaoi-20230630.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 04:39PM UTC 2023-08-03--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:aaoi="http://ao-inc.com/20230630" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ao-inc.com/20230630">
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd"/>
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="aaoi-20230630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="aaoi-20230630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="aaoi-20230630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="aaoi-20230630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="statement-document-and-entity-information" roleURI="http://ao-inc.com/20230630/role/statement-document-and-entity-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-balance-sheets-current-period-unaudited" roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">001 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">002 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-operations-unaudited" roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">004 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-cash-flows-unaudited" roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-description-of-business" roleURI="http://ao-inc.com/20230630/role/statement-note-1-description-of-business">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">007 - Disclosure - Note 1 - Description of Business</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-significant-accounting-policies" roleURI="http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 2 - Significant Accounting Policies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-revenue-recognition" roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">009 - Disclosure - Note 3 - Revenue Recognition</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-leases" roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">010 - Disclosure - Note 4 - Leases</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-cash-cash-equivalents-and-restricted-cash" roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">011 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-earnings-loss-per-share" roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">012 - Disclosure - Note 6 - Earnings (Loss) Per Share</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-inventories" roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">013 - Disclosure - Note 7 - Inventories</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-property-plant-and-equipment" roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">014 - Disclosure - Note 8 - Property, Plant and Equipment</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-net" roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">015 - Disclosure - Note 9 - Intangible Assets, Net</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-fair-value-of-financial-instruments" roleURI="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">016 - Disclosure - Note 10 - Fair Value of Financial Instruments</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-notes-payable-and-longterm-debt" roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 11 - Notes Payable and Long-term Debt</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-convertible-senior-notes" roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 12 - Convertible Senior Notes</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-accrued-liabilities" roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">019 - Disclosure - Note 13 - Accrued Liabilities</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-other-income-and-expense" roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">020 - Disclosure - Note 14 - Other Income and Expense</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">021 - Disclosure - Note 15 - Share-based Compensation</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-income-taxes" roleURI="http://ao-inc.com/20230630/role/statement-note-16-income-taxes">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">022 - Disclosure - Note 16 - Income Taxes</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-geographic-information" roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">023 - Disclosure - Note 17 - Geographic Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-contingencies" roleURI="http://ao-inc.com/20230630/role/statement-note-18-contingencies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">024 - Disclosure - Note 18 - Contingencies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-subsequent-events" roleURI="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">025 - Disclosure - Note 19 - Subsequent Events</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-significant-accounting-policies-policies" roleURI="http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">026 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-revenue-recognition-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">027 - Disclosure - Note 3 - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-leases-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">028 - Disclosure - Note 4 - Leases (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">029 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-earnings-loss-per-share-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">030 - Disclosure - Note 6 - Earnings (Loss) Per Share (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-inventories-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">031 - Disclosure - Note 7 - Inventories (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-property-plant-and-equipment-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">032 - Disclosure - Note 8 - Property, Plant and Equipment (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-net-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">033 - Disclosure - Note 9 - Intangible Assets, Net (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-notes-payable-and-longterm-debt-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">034 - Disclosure - Note 11 - Notes Payable and Long-term Debt (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-convertible-senior-notes-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">035 - Disclosure - Note 12 - Convertible Senior Notes (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-accrued-liabilities-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">036 - Disclosure - Note 13 - Accrued Liabilities (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-other-income-and-expense-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">037 - Disclosure - Note 14 - Other Income and Expense (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">038 - Disclosure - Note 15 - Share-based Compensation (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-geographic-information-tables" roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">039 - Disclosure - Note 17 - Geographic Information (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-description-of-business-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">040 - Disclosure - Note 1 - Description of Business (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-revenue-recognition-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">041 - Disclosure - Note 3 - Revenue Recognition (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-revenue-recognition-revenue-by-major-product-category-details" roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">042 - Disclosure - Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-leases-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">043 - Disclosure - Note 4 - Leases (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-leases-components-of-lease-expense-details" roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">044 - Disclosure - Note 4 - Leases - Components of Lease Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-leases-maturities-of-lease-liabilities-details" roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">045 - Disclosure - Note 4 - Leases - Maturities of Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">046 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">047 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">048 - Disclosure - Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">049 - Disclosure - Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-inventories-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">050 - Disclosure - Note 7 - Inventories (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-inventories-inventories-details" roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">051 - Disclosure - Note 7 - Inventories - Inventories (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-property-plant-and-equipment-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">052 - Disclosure - Note 8 - Property, Plant and Equipment (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">053 - Disclosure - Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-net-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">054 - Disclosure - Note 9 - Intangible Assets, Net (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">055 - Disclosure - Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-net-future-amortization-expense-details" roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">056 - Disclosure - Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-fair-value-of-financial-instruments-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">057 - Disclosure - Note 10 - Fair Value of Financial Instruments (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-notes-payable-and-longterm-debt-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">058 - Disclosure - Note 11 - Notes Payable and Long-term Debt (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">059 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">060 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">061 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-convertible-senior-notes-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">062 - Disclosure - Note 12 - Convertible Senior Notes (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">063 - Disclosure - Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">064 - Disclosure - Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-accrued-liabilities-accrued-liabilities-details" roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">065 - Disclosure - Note 13 - Accrued Liabilities - Accrued Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-other-income-and-expense-other-income-and-expense-details" roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">066 - Disclosure - Note 14 - Other Income and Expense - Other Income and Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">067 - Disclosure - Note 15 - Share-based Compensation (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation-option-activity-details" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">068 - Disclosure - Note 15 - Share-based Compensation - Option Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation-performance-stock-units-activity-details" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">069 - Disclosure - Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">070 - Disclosure - Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-sharebased-compensation-sharebased-compensation-details" roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">071 - Disclosure - Note 15 - Share-based Compensation - Share-based Compensation (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-income-taxes-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">072 - Disclosure - Note 16 - Income Taxes (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-geographic-information-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">073 - Disclosure - Note 17 - Geographic Information (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-geographic-information-revenue-information-by-geographic-region-details" roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">074 - Disclosure - Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-geographic-information-asset-information-by-geographic-region-details" roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">075 - Disclosure - Note 17 - Geographic Information - Asset Information by Geographic Region (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-contingencies-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">076 - Disclosure - Note 18 - Contingencies (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-subsequent-events-details-textual" roleURI="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">077 - Disclosure - Note 19 - Subsequent Events (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="aaoi_AccruedInterestCurrent" name="AccruedInterestCurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_AccruedLiabilitiesAdvancedPayments" name="AccruedLiabilitiesAdvancedPayments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" name="BankAcceptancesExecutedAndOutstandingCurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" name="BusinessDivestiturePercentageOfEquityInterestsExchanged" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="aaoi_CATVMember" name="CATVMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_CITNorthbridgeCreditLLCMember" name="CITNorthbridgeCreditLLCMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_CapExLoanAndTermLoanMember" name="CapExLoanAndTermLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_ChinaZheshangBankCoLtdMember" name="ChinaZheshangBankCoLtdMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_ComputerEquipmentAndSoftwareMember" name="ComputerEquipmentAndSoftwareMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_ConvertibleDebtTextBlock" name="ConvertibleDebtTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_DataCenterMember" name="DataCenterMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" name="DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" name="DebtInstrumentConvertibleConversionPricePremiumPercentage" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="aaoi_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_ExercisableOnSemiannualBasisMember" name="ExercisableOnSemiannualBasisMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" name="ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_FTTHMember" name="FTTHMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_GlobalTechnologyIncMember" name="GlobalTechnologyIncMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_GovernmentSubsidyIncome" name="GovernmentSubsidyIncome" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_GuaranteeDepositsForCustomsDutiesMember" name="GuaranteeDepositsForCustomsDutiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" name="IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" name="IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" name="IncreaseDecreaseInOperatingAndFinanceLeaseLiability" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" name="IncreaseDecreaseInOperatingRightOfUseAsset" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" name="LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" name="LesseeOperatingAndFinanceLeasesTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_LoanSecurityAndGuaranteeAgreementMember" name="LoanSecurityAndGuaranteeAgreementMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" name="LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="aaoi_LossContingencyObligationForSalesAndUseTaxMember" name="LossContingencyObligationForSalesAndUseTaxMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_LossContingencyPotentialObigation" name="LossContingencyPotentialObigation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_ManufacturingFacilitiesInPrcMember" name="ManufacturingFacilitiesInPrcMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_NoteToFinancialStatementDetailsTextual" name="NoteToFinancialStatementDetailsTextual" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_NotesPayableAndLongtermDebtCurrent" name="NotesPayableAndLongtermDebtCurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="aaoi_NotesToFinancialStatements" name="NotesToFinancialStatements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_NotesToFinancialStatementsAbstract" name="NotesToFinancialStatementsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" name="PercentageOfEstimatedProceedsFromDivestitureOfBusiness" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_PercentageOfRevenue" name="PercentageOfRevenue" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" name="PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" name="RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_SPDBankMember" name="SPDBankMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_SecuredOvernightFinancingRateSOFRMember" name="SecuredOvernightFinancingRateSOFRMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" name="SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_TelecomMember" name="TelecomMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_The200MCreditFacilityMember" name="The200MCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" name="The5PercentConvertibleSeniorNotesDue2024Member" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_TheSPDCreditLineMember" name="TheSPDCreditLineMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_TruistBankMember" name="TruistBankMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_VestingOnTheThirdAnniversaryMember" name="VestingOnTheThirdAnniversaryMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" name="YuhanOptoelectronicTechnologyCoLtdMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" name="statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" name="statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" name="statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" name="statement-statement-note-11-notes-payable-and-longterm-debt-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" name="statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" name="statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-12-convertible-senior-notes-tables" name="statement-statement-note-12-convertible-senior-notes-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" name="statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-13-accrued-liabilities-tables" name="statement-statement-note-13-accrued-liabilities-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" name="statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-14-other-income-and-expense-tables" name="statement-statement-note-14-other-income-and-expense-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" name="statement-statement-note-15-sharebased-compensation-option-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" name="statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" name="statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" name="statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-15-sharebased-compensation-tables" name="statement-statement-note-15-sharebased-compensation-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" name="statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" name="statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-17-geographic-information-tables" name="statement-statement-note-17-geographic-information-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" name="statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-3-revenue-recognition-tables" name="statement-statement-note-3-revenue-recognition-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" name="statement-statement-note-4-leases-components-of-lease-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" name="statement-statement-note-4-leases-maturities-of-lease-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-4-leases-tables" name="statement-statement-note-4-leases-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" name="statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" name="statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" name="statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" name="statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-6-earnings-loss-per-share-tables" name="statement-statement-note-6-earnings-loss-per-share-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-7-inventories-inventories-details" name="statement-statement-note-7-inventories-inventories-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-7-inventories-tables" name="statement-statement-note-7-inventories-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" name="statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-8-property-plant-and-equipment-tables" name="statement-statement-note-8-property-plant-and-equipment-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" name="statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" name="statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-note-9-intangible-assets-net-tables" name="statement-statement-note-9-intangible-assets-net-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="aaoi_statement-statement-significant-accounting-policies-policies" name="statement-statement-significant-accounting-policies-policies" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>aaoi-20230630_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 04:39PM UTC 2023-08-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-inventories-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedInterestCurrent" xlink:label="aaoi_AccruedInterestCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedLiabilitiesAdvancedPayments" xlink:label="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:label="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_TaxesPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="aaoi_AccruedInterestCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInNotesReceivables" xlink:label="us-gaap_IncreaseDecreaseInNotesReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:label="us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="us-gaap_RepaymentsOfBankDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:label="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationAndAmortization" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfFinancingCosts" xlink:type="arc"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInNotesReceivables" xlink:type="arc"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:type="arc"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:type="arc"/>
    <link:calculationArc order="15" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:type="arc"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="18" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromBankDebt" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfBankDebt" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingExpenses" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-components-of-lease-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ConvertibleNotesPayable" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ConvertibleNotesPayable" xlink:to="us-gaap_DebtInstrumentFaceAmount" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_AmortizationOfFinancingCosts" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GovernmentSubsidyIncome" xlink:label="aaoi_GovernmentSubsidyIncome" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingGainsLosses" xlink:label="us-gaap_OtherNonoperatingGainsLosses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="aaoi_GovernmentSubsidyIncome" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingGainsLosses" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesPayableAndLongtermDebtCurrent" xlink:label="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtCurrent" xlink:label="us-gaap_ConvertibleDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedContractualRights" xlink:label="us-gaap_IndefiniteLivedContractualRights" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidTaxes" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IndefiniteLivedContractualRights" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ConvertibleDebtCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ConvertibleLongTermNotesPayable" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>aaoi-20230630_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 04:39PM UTC 2023-08-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <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/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/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/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" 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:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:label="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-document-and-entity-information" xlink:href="aaoi-20230630.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentQuarterlyReport" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:definitionArc order="23" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:definitionArc order="24" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:definitionArc order="25" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:definitionArc order="26" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:definitionArc order="27" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:definitionArc order="28" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:definitionArc order="29" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-1-description-of-business" xlink:href="aaoi-20230630.xsd#statement-note-1-description-of-business" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-1-description-of-business" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ManufacturingFacilitiesInPrcMember" xlink:label="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies" xlink:href="aaoi-20230630.xsd#statement-note-2-significant-accounting-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases" xlink:href="aaoi-20230630.xsd#statement-note-4-leases" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:label="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankersAcceptanceMember" xlink:label="us-gaap_BankersAcceptanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_BankersAcceptanceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CN" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments" xlink:href="aaoi-20230630.xsd#statement-note-10-fair-value-of-financial-instruments" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SeniorNotesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GlobalTechnologyIncMember" xlink:label="aaoi_GlobalTechnologyIncMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TheSPDCreditLineMember" xlink:label="aaoi_TheSPDCreditLineMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_EntityDomain" xlink:to="aaoi_GlobalTechnologyIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_TheSPDCreditLineMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CapExLoanAndTermLoanMember" xlink:label="aaoi_CapExLoanAndTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ConvertibleDebtTextBlock" xlink:label="aaoi_ConvertibleDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TruistBankMember" xlink:label="aaoi_TruistBankMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_TruistBankMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_CapExLoanAndTermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="aaoi_ConvertibleDebtTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnSemiannualBasisMember" xlink:label="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_VestingOnTheThirdAnniversaryMember" xlink:label="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VestingAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-16-income-taxes" xlink:href="aaoi-20230630.xsd#statement-note-16-income-taxes" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-16-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-18-contingencies" xlink:href="aaoi-20230630.xsd#statement-note-18-contingencies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-18-contingencies" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events" xlink:href="aaoi-20230630.xsd#statement-note-19-subsequent-events" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies" xlink:href="aaoi-20230630.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-tables" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-tables" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:label="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ConvertibleDebtTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc 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" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-1-description-of-business-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:label="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ManufacturingFacilitiesInPrcMember" xlink:label="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:label="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankersAcceptanceMember" xlink:label="us-gaap_BankersAcceptanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_BankersAcceptanceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CN" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWriteDown" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidCapitalized" xlink:label="us-gaap_InterestPaidCapitalized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestPaidCapitalized" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetImpairmentCharges" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-10-fair-value-of-financial-instruments-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebt" xlink:label="us-gaap_ConvertibleDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtFairValueDisclosures" xlink:label="us-gaap_ConvertibleDebtFairValueDisclosures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_SeniorNotesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConvertibleDebtFairValueDisclosures" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConvertibleDebt" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:label="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GlobalTechnologyIncMember" xlink:label="aaoi_GlobalTechnologyIncMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TheSPDCreditLineMember" xlink:label="aaoi_TheSPDCreditLineMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankAcceptancesExecuted" xlink:label="us-gaap_BankAcceptancesExecuted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCollateralForBorrowedSecurities" xlink:label="us-gaap_CashCollateralForBorrowedSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:label="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_EntityDomain" xlink:to="aaoi_GlobalTechnologyIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_TheSPDCreditLineMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentTerm" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BankAcceptancesExecuted" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCollateralForBorrowedSecurities" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:label="us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:label="us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CapExLoanAndTermLoanMember" xlink:label="aaoi_CapExLoanAndTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:label="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TruistBankMember" xlink:label="aaoi_TruistBankMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:label="us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_TruistBankMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_CapExLoanAndTermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromConvertibleDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharePrice" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsGross" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnSemiannualBasisMember" xlink:label="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:label="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_VestingOnTheThirdAnniversaryMember" xlink:label="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VestingAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-16-income-taxes-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-18-contingencies-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyPotentialObigation" xlink:label="aaoi_LossContingencyPotentialObigation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualPayments" xlink:label="us-gaap_LossContingencyAccrualPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_LossContingencyPotentialObigation" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LossContingencyAccrualPayments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-19-subsequent-events-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RepaymentsOfDebt" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:label="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-inventories-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ComputerEquipmentAndSoftwareMember" xlink:label="aaoi_ComputerEquipmentAndSoftwareMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:label="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandImprovementsMember" xlink:label="us-gaap_LandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="aaoi_ComputerEquipmentAndSoftwareMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedInterestCurrent" xlink:label="aaoi_AccruedInterestCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedLiabilitiesAdvancedPayments" xlink:label="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:label="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedSalariesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TaxesPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_AccruedInterestCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:label="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:label="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInNotesReceivables" xlink:label="us-gaap_IncreaseDecreaseInNotesReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:label="us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="us-gaap_RepaymentsOfBankDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:label="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfFinancingCosts" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInNotesReceivables" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromBankDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfBankDebt" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-components-of-lease-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_ConvertibleDebtSecuritiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConvertibleNotesPayable" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpenseDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GovernmentSubsidyIncome" xlink:label="aaoi_GovernmentSubsidyIncome" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingGainsLosses" xlink:label="us-gaap_OtherNonoperatingGainsLosses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_GovernmentSubsidyIncome" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingGainsLosses" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesPayableAndLongtermDebtCurrent" xlink:label="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtCurrent" xlink:label="us-gaap_ConvertibleDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedContractualRights" xlink:label="us-gaap_IndefiniteLivedContractualRights" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidTaxes" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IndefiniteLivedContractualRights" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleLongTermNotesPayable" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CATVMember" xlink:label="aaoi_CATVMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DataCenterMember" xlink:label="aaoi_DataCenterMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_FTTHMember" xlink:label="aaoi_FTTHMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PercentageOfRevenue" xlink:label="aaoi_PercentageOfRevenue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TelecomMember" xlink:label="aaoi_TelecomMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductAndServiceOtherMember" xlink:label="us-gaap_ProductAndServiceOtherMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="aaoi_CATVMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="aaoi_DataCenterMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="aaoi_TelecomMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="aaoi_FTTHMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductAndServiceOtherMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_PercentageOfRevenue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_PatentsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TrademarksMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_TW" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CN" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_PreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_TW" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CN" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncurrentAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-option-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" 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" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>aaoi-20230630_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 04:39PM UTC 2023-08-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <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/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" 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: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/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DocumentAndEntityInformation" xlink:label="aaoi_DocumentAndEntityInformation" xlink:type="locator"/>
    <link:label xlink:label="aaoi_DocumentAndEntityInformation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_DocumentAndEntityInformation" xlink:to="aaoi_DocumentAndEntityInformation-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:label xlink:label="aaoi_NoteToFinancialStatementDetailsTextual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note To Financial Statement Details Textual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="aaoi_NoteToFinancialStatementDetailsTextual-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-significant-accounting-policies-policies" xlink:label="aaoi_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-significant-accounting-policies-policies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-significant-accounting-policies-policies" xlink:to="aaoi_statement-statement-significant-accounting-policies-policies-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-3-revenue-recognition-tables" xlink:label="aaoi_statement-statement-note-3-revenue-recognition-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-3-revenue-recognition-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Revenue Recognition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-3-revenue-recognition-tables" xlink:to="aaoi_statement-statement-note-3-revenue-recognition-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-4-leases-tables" xlink:label="aaoi_statement-statement-note-4-leases-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-4-leases-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-4-leases-tables" xlink:to="aaoi_statement-statement-note-4-leases-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:label="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Cash, Cash Equivalents and Restricted Cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:to="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-6-earnings-loss-per-share-tables" xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Earnings (Loss) Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-6-earnings-loss-per-share-tables" xlink:to="aaoi_statement-statement-note-6-earnings-loss-per-share-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-7-inventories-tables" xlink:label="aaoi_statement-statement-note-7-inventories-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-7-inventories-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-7-inventories-tables" xlink:to="aaoi_statement-statement-note-7-inventories-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-8-property-plant-and-equipment-tables" xlink:label="aaoi_statement-statement-note-8-property-plant-and-equipment-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-8-property-plant-and-equipment-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Property, Plant and Equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-8-property-plant-and-equipment-tables" xlink:to="aaoi_statement-statement-note-8-property-plant-and-equipment-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-9-intangible-assets-net-tables" xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Intangible Assets, Net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-9-intangible-assets-net-tables" xlink:to="aaoi_statement-statement-note-9-intangible-assets-net-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:label="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued commission expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:to="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Notes Payable and Long-term Debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" xlink:to="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-12-convertible-senior-notes-tables" xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Convertible Senior Notes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-12-convertible-senior-notes-tables" xlink:to="aaoi_statement-statement-note-12-convertible-senior-notes-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-13-accrued-liabilities-tables" xlink:label="aaoi_statement-statement-note-13-accrued-liabilities-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-13-accrued-liabilities-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Accrued Liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-13-accrued-liabilities-tables" xlink:to="aaoi_statement-statement-note-13-accrued-liabilities-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-14-other-income-and-expense-tables" xlink:label="aaoi_statement-statement-note-14-other-income-and-expense-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-14-other-income-and-expense-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Other Income and Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-14-other-income-and-expense-tables" xlink:to="aaoi_statement-statement-note-14-other-income-and-expense-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-tables" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share-based Compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-tables" xlink:to="aaoi_statement-statement-note-15-sharebased-compensation-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-17-geographic-information-tables" xlink:label="aaoi_statement-statement-note-17-geographic-information-tables" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-17-geographic-information-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Geographic Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-17-geographic-information-tables" xlink:to="aaoi_statement-statement-note-17-geographic-information-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Maturities of Long-Term Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:label="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:to="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" xlink:label="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Leases - Components of Lease Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" xlink:to="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Convertible Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtTableTextBlock" xlink:to="us-gaap_ConvertibleDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:label="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Leases - Maturities of Lease Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:to="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:label="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:to="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency, Obligation for Sales and Use Tax [Member]</link:label>
    <link:label xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information on the obligation to potentially repay sales and use tax.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:to="aaoi_LossContingencyObligationForSalesAndUseTaxMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:to="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:to="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-7-inventories-inventories-details" xlink:label="aaoi_statement-statement-note-7-inventories-inventories-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-7-inventories-inventories-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Inventories - Inventories (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-7-inventories-inventories-details" xlink:to="aaoi_statement-statement-note-7-inventories-inventories-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyPotentialObigation" xlink:label="aaoi_LossContingencyPotentialObigation" xlink:type="locator"/>
    <link:label xlink:label="aaoi_LossContingencyPotentialObigation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_LossContingencyPotentialObigation</link:label>
    <link:label xlink:label="aaoi_LossContingencyPotentialObigation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingency, Potential Obligation</link:label>
    <link:label xlink:label="aaoi_LossContingencyPotentialObigation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Describes the form and magnitude of the amount of the potential obligation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_LossContingencyPotentialObigation" xlink:to="aaoi_LossContingencyPotentialObigation-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:label="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:to="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:to="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:to="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:to="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, aggregate intrinsic value</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:to="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:to="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:to="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:to="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:label="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Accrued Liabilities - Accrued Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:to="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:label="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Other Income and Expense - Other Income and Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:to="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, weighted average fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Released, weighted average fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share-based Compensation - Option Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" xlink:to="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:to="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cancelled/Forfeited, weighted average fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average fair value (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:to="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss on foreign currency translation adjustment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share-based Compensation - Share-based Compensation (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:to="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:label="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:to="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:label="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:type="locator"/>
    <link:label xlink:label="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Geographic Information - Asset Information by Geographic Region (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:to="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatements" xlink:label="aaoi_NotesToFinancialStatements" xlink:type="locator"/>
    <link:label xlink:label="aaoi_NotesToFinancialStatements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_NotesToFinancialStatements" xlink:to="aaoi_NotesToFinancialStatements-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, weighted average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:label xlink:label="aaoi_NotesToFinancialStatementsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="aaoi_NotesToFinancialStatementsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_VestingOnTheThirdAnniversaryMember" xlink:label="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_VestingOnTheThirdAnniversaryMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting on the Third Anniversary [Member]</link:label>
    <link:label xlink:label="aaoi_VestingOnTheThirdAnniversaryMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents vesting on the third anniversary.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_VestingOnTheThirdAnniversaryMember" xlink:to="aaoi_VestingOnTheThirdAnniversaryMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtCurrent</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Less current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_CITNorthbridgeCreditLLCMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CIT Northbridge Credit, LLC [Member]</link:label>
    <link:label xlink:label="aaoi_CITNorthbridgeCreditLLCMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents CIT Northbridge Credit, LLC.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_CITNorthbridgeCreditLLCMember" xlink:to="aaoi_CITNorthbridgeCreditLLCMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loan Security and Guarantee Agreement [Member]</link:label>
    <link:label xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Loan Security and Guarantee Agreement.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:label="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:type="locator"/>
    <link:label xlink:label="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage</link:label>
    <link:label xlink:label="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate, Monthly Usage Less Than 50 Percentage</link:label>
    <link:label xlink:label="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents monthly usage less than 50% of credit facility for basis spread on variable rate for debt instrument.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:to="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited, weighted average fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average fair value (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtCurrent" xlink:label="us-gaap_ConvertibleDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current portion of Convertible senior notes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtCurrent" xlink:to="us-gaap_ConvertibleDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unearned revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, number of shares (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxesPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued state and local taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Released, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Cancelled/Forfeited, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, number of shares (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued employee benefits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from disposal of equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TrademarksMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trademarks [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksMember" xlink:to="us-gaap_TrademarksMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedSalariesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued payroll</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalariesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PolicyTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_PolicyTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued product warranty</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedProfessionalFeesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued professional fees</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireIntangibleAssets</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchase of intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchase of property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-cash investing and financing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductAndServiceOtherMember" xlink:label="us-gaap_ProductAndServiceOtherMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductAndServiceOtherMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service, Other [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductAndServiceOtherMember" xlink:to="us-gaap_ProductAndServiceOtherMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidCapitalized" xlink:label="us-gaap_InterestPaidCapitalized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestPaidCapitalized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestPaidCapitalized</link:label>
    <link:label xlink:label="us-gaap_InterestPaidCapitalized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest Paid, Capitalized, Investing Activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidCapitalized" xlink:to="us-gaap_InterestPaidCapitalized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average shares used to compute net loss per share:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VestingAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VestingDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_VestingDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualPayments" xlink:label="us-gaap_LossContingencyAccrualPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LossContingencyAccrualPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LossContingencyAccrualPayments</link:label>
    <link:label xlink:label="us-gaap_LossContingencyAccrualPayments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingency Accrual, Payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualPayments" xlink:to="us-gaap_LossContingencyAccrualPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SupplementalCashFlowInformationAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Assets</link:label>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">TOTAL ASSETS</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PatentsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Patents [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:label="us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsForProceedsFromOtherDeposits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsForProceedsFromOtherDeposits</link:label>
    <link:label xlink:label="us-gaap_PaymentsForProceedsFromOtherDeposits-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Deposits and prepaid for equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:to="us-gaap_PaymentsForProceedsFromOtherDeposits-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Description and Basis of Presentation [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AwardTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net loss</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, accumulated amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedStockUnitsRSUMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible assets, gross amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PerformanceSharesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PerformanceSharesMember" xlink:to="us-gaap_PerformanceSharesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleDebtSecuritiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Convertible Debt Securities [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtSecuritiesMember" xlink:to="us-gaap_ConvertibleDebtSecuritiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contractual interest expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LossContingencyNatureDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency, Nature [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_LossContingencyNatureDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnSemiannualBasisMember" xlink:label="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_ExercisableOnSemiannualBasisMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable on Semi-annual Basis [Member]</link:label>
    <link:label xlink:label="aaoi_ExercisableOnSemiannualBasisMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to awards exercisable on a semi-annual basis.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_ExercisableOnSemiannualBasisMember" xlink:to="aaoi_ExercisableOnSemiannualBasisMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency Nature [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedContractualRights" xlink:label="us-gaap_IndefiniteLivedContractualRights" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IndefiniteLivedContractualRights-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land use rights, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedContractualRights" xlink:to="us-gaap_IndefiniteLivedContractualRights-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankAcceptancesExecuted" xlink:label="us-gaap_BankAcceptancesExecuted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BankAcceptancesExecuted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BankAcceptancesExecuted</link:label>
    <link:label xlink:label="us-gaap_BankAcceptancesExecuted-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Bank Acceptances Executed</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BankAcceptancesExecuted" xlink:to="us-gaap_BankAcceptancesExecuted-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less accumulated depreciation and amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, plant and equipment, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, plant and equipment, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongtermDebtTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongtermDebtTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net loss per share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Income Tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCollateralForBorrowedSecurities" xlink:label="us-gaap_CashCollateralForBorrowedSecurities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCollateralForBorrowedSecurities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCollateralForBorrowedSecurities</link:label>
    <link:label xlink:label="us-gaap_CashCollateralForBorrowedSecurities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash Collateral for Borrowed Securities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCollateralForBorrowedSecurities" xlink:to="us-gaap_CashCollateralForBorrowedSecurities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredFinanceCostsGross</link:label>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Issuance Costs, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccruedLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Income tax expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:label="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Beyond one year</link:label>
    <link:label xlink:label="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing after the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:to="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Redemption Price, Percentage of Principal Amount Redeemed</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:label xlink:label="country_CN-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CHINA</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CN" xlink:to="country_CN-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingGainsLosses" xlink:label="us-gaap_OtherNonoperatingGainsLosses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingGainsLosses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other non-operating gain</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingGainsLosses" xlink:to="us-gaap_OtherNonoperatingGainsLosses-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:label="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax</link:label>
    <link:label xlink:label="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Unrealized foreign exchange (gain) loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:to="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingExpenses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingExpenses</link:label>
    <link:label xlink:label="us-gaap_OperatingExpenses-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentTerm</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Term (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:label="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Unused Borrowing Capacity, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:to="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and administrative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted cash</link:label>
    <link:label xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Cash and Cash Equivalents, Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Convertible, Threshold Trading Days</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Convertible, Threshold Consecutive Trading Days</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentConvertibleConversionPrice1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Convertible, Conversion Price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total share-based compensation expense</link:label>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CertificatesOfDepositAtCarryingValue</link:label>
    <link:label xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Certificates of Deposit, at Carrying Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CertificatesOfDepositAtCarryingValue" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_The200MCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The &#165;200M Credit Facility [Member]</link:label>
    <link:label xlink:label="aaoi_The200MCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the &#165;200M credit facility (the "&#165;200M Credit Facility").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_The200MCreditFacilityMember" xlink:to="aaoi_The200MCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:label="us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentMaturityDateRangeStart1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, start maturity date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:to="us-gaap_DebtInstrumentMaturityDateRangeStart1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:label="us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentMaturityDateRangeEnd1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, end maturity date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:to="us-gaap_DebtInstrumentMaturityDateRangeEnd1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ComprehensiveIncomeNetOfTax</link:label>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Comprehensive loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentMaturityDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, maturity date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unearned revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_CurrentFiscalYearEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, interest</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LeaseCost</link:label>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lease, Cost</link:label>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total lease expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective interest rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Discount Rate - operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalPeriodFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalYearFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShortTermLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short Term lease expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCostTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Remaining Lease Term (Years) - operating leases (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInPrepaidTaxes</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Prepaid income tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentFaceAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Principal</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentFaceAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetImpairmentCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetImpairmentCharges</link:label>
    <link:label xlink:label="us-gaap_AssetImpairmentCharges-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Asset Impairment Charges</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:label xlink:label="dei_EntitySmallBusiness-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityShellCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFilerCategory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Guarantee Deposits for Customs Duties [Member]</link:label>
    <link:label xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information regarding guarantee deposits for customs duties.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:to="aaoi_GuaranteeDepositsForCustomsDutiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsReceivable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, trade</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepreciationAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AmortizationOfIntangibleAssets</link:label>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable, allowance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInNotesReceivables" xlink:label="us-gaap_IncreaseDecreaseInNotesReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInNotesReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInNotesReceivables</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInNotesReceivables-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Trade Notes receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInNotesReceivables" xlink:to="us-gaap_IncreaseDecreaseInNotesReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherCurrentAssets</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInInventories</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="locator"/>
    <link:label xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Bank acceptance notes issued to vendors with a zero percent interest rate</link:label>
    <link:label xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Bank acceptance payable</link:label>
    <link:label xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Carrying amount as of the balance sheet date of drafts and bills of exchange that have been accepted by the reporting bank, or by others for its own account, as its liability to holders of the drafts, which is expected to be paid within one year of the date of the statement of financial position.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:to="aaoi_BankAcceptancesExecutedAndOutstandingCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:type="locator"/>
    <link:label xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable</link:label>
    <link:label xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Principal payments of long-term debt and notes payable</link:label>
    <link:label xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The cash outflow for principal amounts on debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:to="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TableTextBlock</link:label>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes Tables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_TableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Gain (loss) on disposal of assets</link:label>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossOnDispositionOfAssets1</link:label>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gain (loss) on disposal of assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, maximum</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Issuance of restricted stock, net of shares withheld for employee tax (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Issuance of restricted stock, net of shares withheld for employee tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CATVMember" xlink:label="aaoi_CATVMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_CATVMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CATV [Member]</link:label>
    <link:label xlink:label="aaoi_CATVMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents CATV.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_CATVMember" xlink:to="aaoi_CATVMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DataCenterMember" xlink:label="aaoi_DataCenterMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_DataCenterMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Data Center [Member]</link:label>
    <link:label xlink:label="aaoi_DataCenterMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents data center.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_DataCenterMember" xlink:to="aaoi_DataCenterMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ComputerEquipmentAndSoftwareMember" xlink:label="aaoi_ComputerEquipmentAndSoftwareMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_ComputerEquipmentAndSoftwareMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Computer Equipment and Software [Member]</link:label>
    <link:label xlink:label="aaoi_ComputerEquipmentAndSoftwareMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents computer equipment and software.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_ComputerEquipmentAndSoftwareMember" xlink:to="aaoi_ComputerEquipmentAndSoftwareMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:label="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:type="locator"/>
    <link:label xlink:label="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, plant and equipment, net before construction in progress and land</link:label>
    <link:label xlink:label="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">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, excluding construction in progress and land.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:to="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PercentageOfRevenue" xlink:label="aaoi_PercentageOfRevenue" xlink:type="locator"/>
    <link:label xlink:label="aaoi_PercentageOfRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Percent of Revenue</link:label>
    <link:label xlink:label="aaoi_PercentageOfRevenue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The percentage of revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_PercentageOfRevenue" xlink:to="aaoi_PercentageOfRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allowance of bad debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_IncreaseDecreaseInOperatingRightOfUseAsset</link:label>
    <link:label xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating right of use asset</link:label>
    <link:label xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) during the period in operating right-of-use assets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:to="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_FTTHMember" xlink:label="aaoi_FTTHMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_FTTHMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">FTTH [Member]</link:label>
    <link:label xlink:label="aaoi_FTTHMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents FTTH.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_FTTHMember" xlink:to="aaoi_FTTHMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TelecomMember" xlink:label="aaoi_TelecomMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_TelecomMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Telecom [Member]</link:label>
    <link:label xlink:label="aaoi_TelecomMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents telecom.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_TelecomMember" xlink:to="aaoi_TelecomMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:label="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="aaoi_LesseeOperatingAndFinanceLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating and Finance Leases [Text Block]</link:label>
    <link:label xlink:label="aaoi_LesseeOperatingAndFinanceLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for operating and finance leases of lessee. Includes, but is not limited to, description of operating and finance lease and maturity analysis of operating and finance lease liability.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:to="aaoi_LesseeOperatingAndFinanceLeasesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GovernmentSubsidyIncome" xlink:label="aaoi_GovernmentSubsidyIncome" xlink:type="locator"/>
    <link:label xlink:label="aaoi_GovernmentSubsidyIncome-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Government subsidy income</link:label>
    <link:label xlink:label="aaoi_GovernmentSubsidyIncome-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of income from government subsidy.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_GovernmentSubsidyIncome" xlink:to="aaoi_GovernmentSubsidyIncome-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited, number of shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales and marketing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GlobalTechnologyIncMember" xlink:label="aaoi_GlobalTechnologyIncMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_GlobalTechnologyIncMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Global Technology, Inc. [Member]</link:label>
    <link:label xlink:label="aaoi_GlobalTechnologyIncMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Global Technology, Inc. (&#8220;Global&#8221;).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_GlobalTechnologyIncMember" xlink:to="aaoi_GlobalTechnologyIncMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Public offering of common stock, net (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW" xlink:type="locator"/>
    <link:label xlink:label="country_TW-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">TAIWAN</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_TW" xlink:to="country_TW-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating and Finance Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:label="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of undiscounted cash flows of lessee's operating and finance lease liabilities. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liabilities recognized in statement of financial position.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesAndStockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ManufacturingFacilitiesInPrcMember" xlink:label="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_ManufacturingFacilitiesInPrcMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Manufacturing Facilities in PRC [Member]</link:label>
    <link:label xlink:label="aaoi_ManufacturingFacilitiesInPrcMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Manufacturing Facilities in PRC.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_ManufacturingFacilitiesInPrcMember" xlink:to="aaoi_ManufacturingFacilitiesInPrcMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Work in process and sub-assemblies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Yuhan Optoelectronic Technology Co., Ltd [Member]</link:label>
    <link:label xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Yuhan Optoelectronic Technology Co., Ltd.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:to="aaoi_YuhanOptoelectronicTechnologyCoLtdMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:label xlink:label="country_US-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Public offering of common stock, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, weighted average fair value (in dollars per share)</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Per share or unit weighted-average fair value of vested and expected to vest award under share-based payment arrangement. Excludes share and unit options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, number of shares (in shares)</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of equity instruments other than options vested and expected to vest.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Released, aggregate intrinsic value</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Intrinsic value of exercised award under share-based payment arrangement. Excludes share and unit options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cancelled/Forfeited, aggregate intrinsic value</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Intrinsic value of cancelled award under share-based payment arrangement. Excludes share and unit options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and development</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated deficit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:label="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:type="locator"/>
    <link:label xlink:label="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness</link:label>
    <link:label xlink:label="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Percentage of Estimated Proceeds From Divestiture of Business</link:label>
    <link:label xlink:label="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of estimated proceeds from divestiture of business as a percentage.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:to="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:label="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:type="locator"/>
    <link:label xlink:label="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged</link:label>
    <link:label xlink:label="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Divestiture, Percentage of Equity Interests Exchanged</link:label>
    <link:label xlink:label="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of equity interests exchanged in the other party in business divestiture.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:to="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, aggregate intrinsic value</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedInterestCurrent" xlink:label="aaoi_AccruedInterestCurrent" xlink:type="locator"/>
    <link:label xlink:label="aaoi_AccruedInterestCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued interest</link:label>
    <link:label xlink:label="aaoi_AccruedInterestCurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Carrying value as of the balance sheet date of accrued but unpaid interest on liabilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_AccruedInterestCurrent" xlink:to="aaoi_AccruedInterestCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestExpense</link:label>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Interest expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpenseDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestExpenseDebt</link:label>
    <link:label xlink:label="us-gaap_InterestExpenseDebt-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total interest cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited, aggregate intrinsic value</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount by which the current fair value of the underlying stock exceeds the exercise price of options forfeited.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfFinancingCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of debt issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Cash and Cash Equivalents [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisclosureTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes to Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-current lease liability - operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Present value, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current lease liability - operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2029 and thereafter</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current lease liability - financing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating right of use asset</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating lease payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnamortizedDebtIssuanceExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnamortizedDebtIssuanceExpense</link:label>
    <link:label xlink:label="us-gaap_UnamortizedDebtIssuanceExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Unamortized debt issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2027</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less imputed interest, operating leases, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Present value, financing leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Financing cash flows from financing lease</link:label>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeasePrincipalPayments</link:label>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Principal payments of financing lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2028</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CapExLoanAndTermLoanMember" xlink:label="aaoi_CapExLoanAndTermLoanMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_CapExLoanAndTermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CapEx Loan and Term Loan [Member]</link:label>
    <link:label xlink:label="aaoi_CapExLoanAndTermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents both the capital expenditure loan (the &#8220;CapEx Loan&#8221;) and the term loan (the "Term Loan").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_CapExLoanAndTermLoanMember" xlink:to="aaoi_CapExLoanAndTermLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing right of use asset</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TruistBankMember" xlink:label="aaoi_TruistBankMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_TruistBankMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Truist Bank [Member]</link:label>
    <link:label xlink:label="aaoi_TruistBankMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Truist Bank.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_TruistBankMember" xlink:to="aaoi_TruistBankMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2027, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2028, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2029 and thereafter, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2024, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2026, operating</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtConversionConvertedInstrumentAmount1</link:label>
    <link:label xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Conversion, Converted Instrument, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Remaining Amortization Period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:label="us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtConversionConvertedInstrumentSharesIssued1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtConversionConvertedInstrumentSharesIssued1</link:label>
    <link:label xlink:label="us-gaap_DebtConversionConvertedInstrumentSharesIssued1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Conversion, Converted Instrument, Shares Issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:to="us-gaap_DebtConversionConvertedInstrumentSharesIssued1-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SPDBankMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SPD Bank [Member]</link:label>
    <link:label xlink:label="aaoi_SPDBankMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the Shanghai Pudon Development Bank ("SPD").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SPDBankMember" xlink:to="aaoi_SPDBankMember-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TheSPDCreditLineMember" xlink:label="aaoi_TheSPDCreditLineMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_TheSPDCreditLineMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The SPD Credit Line [Member]</link:label>
    <link:label xlink:label="aaoi_TheSPDCreditLineMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the SPD credit line (the "SPD Credit Line").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_TheSPDCreditLineMember" xlink:to="aaoi_TheSPDCreditLineMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingExpensesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_ChinaZheshangBankCoLtdMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">China Zheshang Bank Co., Ltd [Member]</link:label>
    <link:label xlink:label="aaoi_ChinaZheshangBankCoLtdMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the China Zheshang Bank Co., Ltd., in Ningbo City, China ("CZB").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_ChinaZheshangBankCoLtdMember" xlink:to="aaoi_ChinaZheshangBankCoLtdMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryLIFOReservePeriodCharge-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory reserve adjustment</link:label>
    <link:label xlink:label="us-gaap_InventoryLIFOReservePeriodCharge-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventory, LIFO Reserve, Period Charge</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReservePeriodCharge" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:label="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:type="locator"/>
    <link:label xlink:label="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage</link:label>
    <link:label xlink:label="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Convertible, Conversion Price Premium, Percentage</link:label>
    <link:label xlink:label="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the percentage premium over the closing price per share of the conversion feature embedded in the debt instrument.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:to="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Depreciation</link:label>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:label xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 5% Convertible Senior Notes Due 2024 [Member]</link:label>
    <link:label xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the 5% convertible senior notes due 2024 (the "Notes").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ConvertibleDebtTextBlock" xlink:label="aaoi_ConvertibleDebtTextBlock" xlink:type="locator"/>
    <link:label xlink:label="aaoi_ConvertibleDebtTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Convertible Debt [Text Block]</link:label>
    <link:label xlink:label="aaoi_ConvertibleDebtTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_ConvertibleDebtTextBlock" xlink:to="aaoi_ConvertibleDebtTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsCurrent</link:label>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock; 45,000 shares authorized at $0.001 par value; 31,785 and 28,622 shares issued and outstanding at June 30, 2023 and December 31, 2022, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SeniorNotesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Senior Notes [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeniorNotesMember" xlink:to="us-gaap_SeniorNotesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net loss to net cash used in operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankersAcceptanceMember" xlink:label="us-gaap_BankersAcceptanceMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BankersAcceptanceMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Bankers Acceptance [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BankersAcceptanceMember" xlink:to="us-gaap_BankersAcceptanceMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasePayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating cash flows from operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MaximumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MinimumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductOrServiceAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductsAndServicesDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating cash flows from financing lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:label="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:type="locator"/>
    <link:label xlink:label="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net change in deposits and prepaid for equipment related to property and equipment additions</link:label>
    <link:label xlink:label="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The increase (decrease) during the reporting period in the aggregate amount of deposits and prepayments for equipment related to property and equipment additions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:to="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability</link:label>
    <link:label xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lease liability</link:label>
    <link:label xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of increase (decrease) during the period in operating and finance lease obligations.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:to="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid income tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest, net of amounts capitalized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-lived assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementGeographicalAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_SegmentGeographicalDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:label="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:type="locator"/>
    <link:label xlink:label="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net change in accounts payable related to property and equipment additions</link:label>
    <link:label xlink:label="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">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 related to property and equipment additions received that are used in an entity's business.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:to="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InventoryNet</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total inventories</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign exchange transaction gain (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable on the First Anniversary Date Following the Date of Grant [Member]</link:label>
    <link:label xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to awards exercisable on the first anniversary date following the date of grant.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:to="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConstructionInProgressMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesPayableAndLongtermDebtCurrent" xlink:label="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="aaoi_NotesPayableAndLongtermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current portion of notes payable and long-term debt</link:label>
    <link:label xlink:label="aaoi_NotesPayableAndLongtermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of notes payable and long-term debt classified as current.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:to="aaoi_NotesPayableAndLongtermDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FurnitureAndFixturesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable - trade, net of allowance of $9 and $28, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NumberOfReportableSegments</link:label>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapital-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BuildingAndBuildingImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' equity:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LandMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandImprovementsMember" xlink:label="us-gaap_LandImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LandImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandImprovementsMember" xlink:to="us-gaap_LandImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other expense, net</link:label>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total other income (expenses) , net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NonoperatingIncomeExpense</link:label>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total other income (expense), net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:label="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest Income and Interest Expense Disclosure [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:to="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total cash, cash equivalents and restricted cash shown in the statement of cash flows</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents and restricted cash at beginning of period</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents and restricted cash at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of exchange rate changes on cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentIncomeInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net decrease in cash, cash equivalents and restricted cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash (used in) provided by financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Liabilities</link:label>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">TOTAL LIABILITIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingIncomeLoss</link:label>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Loss from operations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other income (expense)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInInvestingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash (used in) investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GrossProfit</link:label>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross profit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfGoodsAndServicesSold-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of goods sold</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_CounterpartyNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Counterparty Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Counterparty Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryWriteDown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InventoryWriteDown</link:label>
    <link:label xlink:label="us-gaap_InventoryWriteDown-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventory Write-down</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:label="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Nonoperating Income and Expense [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:to="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Other Nonoperating Income (Expense) [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments of tax withholding on behalf of employees related to share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from common stock offering, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockMember" xlink:to="us-gaap_PreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementEquityComponentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityComponentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebt</link:label>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total outstanding</link:label>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Grand total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Loss before income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ConvertibleNotesPayable</link:label>
    <link:label xlink:label="us-gaap_ConvertibleNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net carrying amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayable" xlink:to="us-gaap_ConvertibleNotesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCredit</link:label>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Line of Credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebt" xlink:label="us-gaap_ConvertibleDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ConvertibleDebt</link:label>
    <link:label xlink:label="us-gaap_ConvertibleDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Convertible Debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebt" xlink:to="us-gaap_ConvertibleDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VehiclesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vehicles [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredFinanceCostsNet</link:label>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsNet-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Less debt issuance costs, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLongTermDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repayments of Long-term Debt, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MachineryAndEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentQuarterlyReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentCarryingAmount-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Long-term debt</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentCarryingAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentCarryingAmount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingPoliciesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentTransitionReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Transition Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityInteractiveDataCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling and Marketing Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpenseMember" xlink:to="us-gaap_SellingAndMarketingExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Within one year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromConvertibleDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProceedsFromConvertibleDebt</link:label>
    <link:label xlink:label="us-gaap_ProceedsFromConvertibleDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Convertible Debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromConvertibleDebt" xlink:to="us-gaap_ProceedsFromConvertibleDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="us-gaap_RepaymentsOfBankDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfBankDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfBankDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfBankDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repayments of bank acceptance payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfBankDebt" xlink:to="us-gaap_RepaymentsOfBankDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharePrice</link:label>
    <link:label xlink:label="us-gaap_SharePrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total antidilutive share (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLinesOfCredit</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLinesOfCredit-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repayments of line of credit borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from line of credit borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromBankDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from bank acceptance payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromBankDebt" xlink:to="us-gaap_ProceedsFromBankDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfCashFlowsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration</link:label>
    <link:label xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Consideration</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Geographic Areas [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Assets by Geographic Areas [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repayments of Debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebt" xlink:to="us-gaap_RepaymentsOfDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:label="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sharebased Compensation Arrangement By Sharebased Payment Award Performance Award Value Percentage Of Based Amount</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Share-based Payment Award Performance Award Value Percentage Of Based Amount.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:to="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseInterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing lease expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total financing lease payments, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less imputed interest, financing leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedLiabilitiesAdvancedPayments" xlink:label="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="locator"/>
    <link:label xlink:label="aaoi_AccruedLiabilitiesAdvancedPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Advanced payments</link:label>
    <link:label xlink:label="aaoi_AccruedLiabilitiesAdvancedPayments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Carrying value as of the balance sheet date of liabilities incurred through that date and payable for advanced payments.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:to="aaoi_AccruedLiabilitiesAdvancedPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2027, finance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2028, finance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2029 and thereafter, finance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2024, finance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025, finance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2026, finance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Discount Rate - financing leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Remaining Lease Term (Years) - financing leases (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtFairValueDisclosures" xlink:label="us-gaap_ConvertibleDebtFairValueDisclosures" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleDebtFairValueDisclosures-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ConvertibleDebtFairValueDisclosures</link:label>
    <link:label xlink:label="us-gaap_ConvertibleDebtFairValueDisclosures-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Convertible Debt, Fair Value Disclosures</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtFairValueDisclosures" xlink:to="us-gaap_ConvertibleDebtFairValueDisclosures-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) [Member]</link:label>
    <link:label xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information on Secured Overnight Financing Rate (SOFR).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:to="aaoi_SecuredOvernightFinancingRateSOFRMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unearned revenue, Net of Current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">TOTAL STOCKHOLDERS' EQUITY</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted average fair value (in dollars per share)</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Weighted average grant-date fair value of options exercisable.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementClassOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Non-current portion</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtNoncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, weighted average fair value (in dollars per share)</link:label>
    <link:label xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Weighted average grant-date fair value of options vested and expected to vest.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConvertibleLongTermNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ConvertibleLongTermNotesPayable</link:label>
    <link:label xlink:label="us-gaap_ConvertibleLongTermNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Convertible senior notes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleLongTermNotesPayable" xlink:to="us-gaap_ConvertibleLongTermNotesPayable-label" xlink:type="arc"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>aaoi-20230630_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 04:39PM UTC 2023-08-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:label="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-document-and-entity-information" xlink:href="aaoi-20230630.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentQuarterlyReport" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:presentationArc order="24" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:presentationArc order="25" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:presentationArc order="26" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:presentationArc order="27" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:presentationArc order="28" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-1-description-of-business" xlink:href="aaoi-20230630.xsd#statement-note-1-description-of-business" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-1-description-of-business" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ManufacturingFacilitiesInPrcMember" xlink:label="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies" xlink:href="aaoi-20230630.xsd#statement-note-2-significant-accounting-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases" xlink:href="aaoi-20230630.xsd#statement-note-4-leases" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:label="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="aaoi_LesseeOperatingAndFinanceLeasesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankersAcceptanceMember" xlink:label="us-gaap_BankersAcceptanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_BankersAcceptanceMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CN" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments" xlink:href="aaoi-20230630.xsd#statement-note-10-fair-value-of-financial-instruments" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_SeniorNotesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GlobalTechnologyIncMember" xlink:label="aaoi_GlobalTechnologyIncMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TheSPDCreditLineMember" xlink:label="aaoi_TheSPDCreditLineMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="aaoi_GlobalTechnologyIncMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_TheSPDCreditLineMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CapExLoanAndTermLoanMember" xlink:label="aaoi_CapExLoanAndTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ConvertibleDebtTextBlock" xlink:label="aaoi_ConvertibleDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TruistBankMember" xlink:label="aaoi_TruistBankMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_TruistBankMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_CapExLoanAndTermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="aaoi_ConvertibleDebtTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnSemiannualBasisMember" xlink:label="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_VestingOnTheThirdAnniversaryMember" xlink:label="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VestingAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-16-income-taxes" xlink:href="aaoi-20230630.xsd#statement-note-16-income-taxes" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-16-income-taxes" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-18-contingencies" xlink:href="aaoi-20230630.xsd#statement-note-18-contingencies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-18-contingencies" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events" xlink:href="aaoi-20230630.xsd#statement-note-19-subsequent-events" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesToFinancialStatementsAbstract" xlink:label="aaoi_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies" xlink:href="aaoi-20230630.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-significant-accounting-policies-policies" xlink:label="aaoi_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-significant-accounting-policies-policies" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-3-revenue-recognition-tables" xlink:label="aaoi_statement-statement-note-3-revenue-recognition-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-3-revenue-recognition-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-tables" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-4-leases-tables" xlink:label="aaoi_statement-statement-note-4-leases-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-4-leases-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:label="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-6-earnings-loss-per-share-tables" xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-6-earnings-loss-per-share-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-tables" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-7-inventories-tables" xlink:label="aaoi_statement-statement-note-7-inventories-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-7-inventories-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-8-property-plant-and-equipment-tables" xlink:label="aaoi_statement-statement-note-8-property-plant-and-equipment-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-8-property-plant-and-equipment-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-9-intangible-assets-net-tables" xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-9-intangible-assets-net-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-12-convertible-senior-notes-tables" xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="us-gaap_ConvertibleDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:label="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-12-convertible-senior-notes-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ConvertibleDebtTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-13-accrued-liabilities-tables" xlink:label="aaoi_statement-statement-note-13-accrued-liabilities-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-13-accrued-liabilities-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-14-other-income-and-expense-tables" xlink:label="aaoi_statement-statement-note-14-other-income-and-expense-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-14-other-income-and-expense-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-tables" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-17-geographic-information-tables" xlink:label="aaoi_statement-statement-note-17-geographic-information-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-17-geographic-information-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-1-description-of-business-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged" xlink:label="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ManufacturingFacilitiesInPrcMember" xlink:label="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness" xlink:label="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:label="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="aaoi_ManufacturingFacilitiesInPrcMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="aaoi_YuhanOptoelectronicTechnologyCoLtdMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:label="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankersAcceptanceMember" xlink:label="us-gaap_BankersAcceptanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="us-gaap_BankersAcceptanceMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CN" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="aaoi_GuaranteeDepositsForCustomsDutiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWriteDown-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidCapitalized" xlink:label="us-gaap_InterestPaidCapitalized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestPaidCapitalized-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetImpairmentCharges-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-10-fair-value-of-financial-instruments-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebt" xlink:label="us-gaap_ConvertibleDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtFairValueDisclosures" xlink:label="us-gaap_ConvertibleDebtFairValueDisclosures-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeniorNotesMember" xlink:label="us-gaap_SeniorNotesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_SeniorNotesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConvertibleDebtFairValueDisclosures-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConvertibleDebt-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage" xlink:label="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GlobalTechnologyIncMember" xlink:label="aaoi_GlobalTechnologyIncMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:label="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TheSPDCreditLineMember" xlink:label="aaoi_TheSPDCreditLineMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BankAcceptancesExecuted" xlink:label="us-gaap_BankAcceptancesExecuted-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCollateralForBorrowedSecurities" xlink:label="us-gaap_CashCollateralForBorrowedSecurities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount" xlink:label="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="aaoi_SecuredOvernightFinancingRateSOFRMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="aaoi_GlobalTechnologyIncMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_TheSPDCreditLineMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentTerm-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BankAcceptancesExecuted-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCollateralForBorrowedSecurities-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:label="us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:label="us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDateRangeStart1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDateRangeEnd1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentMaturityDate" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CapExLoanAndTermLoanMember" xlink:label="aaoi_CapExLoanAndTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage" xlink:label="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TruistBankMember" xlink:label="aaoi_TruistBankMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="us-gaap_DebtConversionConvertedInstrumentAmount1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:label="us-gaap_DebtConversionConvertedInstrumentSharesIssued1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed" xlink:label="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_TruistBankMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_CapExLoanAndTermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromConvertibleDebt-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RepaymentsOfLongTermDebt-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentSharesIssued1-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtConversionConvertedInstrumentAmount1-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharePrice-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsGross-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnSemiannualBasisMember" xlink:label="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:label="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount" xlink:label="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_VestingOnTheThirdAnniversaryMember" xlink:label="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VestingAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="aaoi_ExercisableOnSemiannualBasisMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="aaoi_VestingOnTheThirdAnniversaryMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-16-income-taxes-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-18-contingencies-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:label="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LossContingencyPotentialObigation" xlink:label="aaoi_LossContingencyPotentialObigation-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualPayments" xlink:label="us-gaap_LossContingencyAccrualPayments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="aaoi_LossContingencyObligationForSalesAndUseTaxMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_LossContingencyPotentialObigation-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LossContingencyAccrualPayments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual" xlink:href="aaoi-20230630.xsd#statement-note-19-subsequent-events-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NoteToFinancialStatementDetailsTextual" xlink:label="aaoi_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RepaymentsOfDebt-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:label="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:label="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details" xlink:href="aaoi-20230630.xsd#statement-note-7-inventories-inventories-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-7-inventories-inventories-details" xlink:label="aaoi_statement-statement-note-7-inventories-inventories-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-7-inventories-inventories-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:href="aaoi-20230630.xsd#statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ComputerEquipmentAndSoftwareMember" xlink:label="aaoi_ComputerEquipmentAndSoftwareMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:label="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:label="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandImprovementsMember" xlink:label="us-gaap_LandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="aaoi_ComputerEquipmentAndSoftwareMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_VehiclesMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:href="aaoi-20230630.xsd#statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CITNorthbridgeCreditLLCMember" xlink:label="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_ChinaZheshangBankCoLtdMember" xlink:label="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:label="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SPDBankMember" xlink:label="aaoi_SPDBankMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The200MCreditFacilityMember" xlink:label="aaoi_The200MCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:label="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_CITNorthbridgeCreditLLCMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_LoanSecurityAndGuaranteeAgreementMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_SPDBankMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="aaoi_ChinaZheshangBankCoLtdMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_The200MCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet-n9" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent-n9" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_BankAcceptancesExecutedAndOutstandingCurrent-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:href="aaoi-20230630.xsd#statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedInterestCurrent" xlink:label="aaoi_AccruedInterestCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_AccruedLiabilitiesAdvancedPayments" xlink:label="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:label="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:label="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedSalariesCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TaxesPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_AccruedInterestCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_AccruedLiabilitiesAdvancedPayments" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:label="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:label="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability" xlink:label="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_IncreaseDecreaseInOperatingRightOfUseAsset" xlink:label="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable" xlink:label="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInNotesReceivables" xlink:label="us-gaap_IncreaseDecreaseInNotesReceivables-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReservePeriodCharge" xlink:label="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromOtherDeposits" xlink:label="us-gaap_PaymentsForProceedsFromOtherDeposits-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="us-gaap_RepaymentsOfBankDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax" xlink:label="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_InventoryLIFOReservePeriodCharge" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationAndAmortization" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfFinancingCosts" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets1-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInNotesReceivables-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="aaoi_IncreaseDecreaseInOperatingRightOfUseAsset-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsForProceedsFromOtherDeposits-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLinesOfCredit-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromBankDebt" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfBankDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_FinanceLeasePrincipalPayments-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-4-leases-components-of-lease-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" xlink:label="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-4-leases-components-of-lease-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeasePrincipalPayments-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:href="aaoi-20230630.xsd#statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:label="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember" xlink:label="us-gaap_ConvertibleDebtSecuritiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_ConvertibleDebtSecuritiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConvertibleNotesPayable-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:label="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:label="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="aaoi_The5PercentConvertibleSeniorNotesDue2024Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpenseDebt-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:href="aaoi-20230630.xsd#statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_GovernmentSubsidyIncome" xlink:label="aaoi_GovernmentSubsidyIncome" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:label="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingGainsLosses" xlink:label="us-gaap_OtherNonoperatingGainsLosses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_GovernmentSubsidyIncome" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingGainsLosses" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossOnDispositionOfAssets1-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpense-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:label="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_NotesPayableAndLongtermDebtCurrent" xlink:label="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtCurrent" xlink:label="us-gaap_ConvertibleDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedContractualRights" xlink:label="us-gaap_IndefiniteLivedContractualRights" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="us-gaap_PrepaidTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidTaxes" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IndefiniteLivedContractualRights" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets-3" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="aaoi_BankAcceptancesExecutedAndOutstandingCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="aaoi_NotesPayableAndLongtermDebtCurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleDebtCurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleLongTermNotesPayable-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities-3" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:href="aaoi-20230630.xsd#statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_CATVMember" xlink:label="aaoi_CATVMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_DataCenterMember" xlink:label="aaoi_DataCenterMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_FTTHMember" xlink:label="aaoi_FTTHMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_PercentageOfRevenue" xlink:label="aaoi_PercentageOfRevenue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_TelecomMember" xlink:label="aaoi_TelecomMember" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:label="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductAndServiceOtherMember" xlink:label="us-gaap_ProductAndServiceOtherMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="aaoi_CATVMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="aaoi_DataCenterMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="aaoi_TelecomMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="aaoi_FTTHMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="us-gaap_ProductAndServiceOtherMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_PercentageOfRevenue" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:href="aaoi-20230630.xsd#statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:label="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:href="aaoi-20230630.xsd#statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:label="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_PatentsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TrademarksMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:label="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_TW" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CN" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" xlink:href="aaoi-20230630.xsd#statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-5" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_PreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:href="aaoi-20230630.xsd#statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:label="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_TW" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CN" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncurrentAssets" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-n8" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations-n8" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details" xlink:href="aaoi-20230630.xsd#statement-note-15-sharebased-compensation-option-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" xlink:label="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="aaoi-20230630.xsd#aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" xlink:label="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-2" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue-2" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408509344">
<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, 2023</div></th>
<th class="th"><div>Aug. 01, 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_dei_DocumentInformationLineItems', window );"><strong>Document Information [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_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001158114<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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">APPLIED OPTOELECTRONICS, INC.<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_AmendmentFlag', window );">Amendment Flag</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_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="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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<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_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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2023<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_DocumentTransitionReport', window );">Document Transition Report</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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-36083<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>
<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">76-0533927<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">13139 Jess Pirtle Blvd.<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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Sugar Land<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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">77478<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">281<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">295-1800<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.001<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">AAOI<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<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_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="re">
<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="ro">
<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="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_EntityShellCompany', window );">Entity Shell Company</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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,128,847<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_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_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">dei_DocumentInformationLineItems</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_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_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>11
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408065472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Current Period Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_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">$ 21,578<span></span>
</td>
<td class="nump">$ 24,685<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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash</a></td>
<td class="nump">7,034<span></span>
</td>
<td class="nump">10,902<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_AccountsReceivableNetCurrent', window );">Accounts receivable - trade, net of allowance of $9 and $28, respectively</a></td>
<td class="nump">42,598<span></span>
</td>
<td class="nump">61,175<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_NotesAndLoansReceivableNetCurrent', window );">Notes receivable</a></td>
<td class="nump">782<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_InventoryNet', window );">Inventories</a></td>
<td class="nump">66,321<span></span>
</td>
<td class="nump">79,679<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_PrepaidTaxes', window );">Prepaid income tax</a></td>
<td class="nump">2<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_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">6,231<span></span>
</td>
<td class="nump">6,384<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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">144,546<span></span>
</td>
<td class="nump">183,164<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">197,879<span></span>
</td>
<td class="nump">210,184<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_IndefiniteLivedContractualRights', window );">Land use rights, net</a></td>
<td class="nump">4,990<span></span>
</td>
<td class="nump">5,238<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 );">Operating right of use asset</a></td>
<td class="nump">5,296<span></span>
</td>
<td class="nump">5,566<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_FinanceLeaseRightOfUseAsset', window );">Financing right of use asset</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">26<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_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">3,625<span></span>
</td>
<td class="nump">3,699<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, net</a></td>
<td class="nump">531<span></span>
</td>
<td class="nump">386<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">356,877<span></span>
</td>
<td class="nump">408,263<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">35,111<span></span>
</td>
<td class="nump">47,845<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_aaoi_BankAcceptancesExecutedAndOutstandingCurrent', window );">Bank acceptance payable</a></td>
<td class="nump">8,637<span></span>
</td>
<td class="nump">12,337<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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">14,702<span></span>
</td>
<td class="nump">17,222<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_ContractWithCustomerLiabilityCurrent', window );">Unearned revenue</a></td>
<td class="nump">10,720<span></span>
</td>
<td class="nump">3,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_OperatingLeaseLiabilityCurrent', window );">Current lease liability - operating</a></td>
<td class="nump">1,055<span></span>
</td>
<td class="nump">1,041<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_FinanceLeaseLiabilityCurrent', window );">Current lease liability - financing</a></td>
<td class="nump">53<span></span>
</td>
<td class="nump">63<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_aaoi_NotesPayableAndLongtermDebtCurrent', window );">Current portion of notes payable and long-term debt</a></td>
<td class="nump">37,276<span></span>
</td>
<td class="nump">57,074<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_ConvertibleDebtCurrent', window );">Current portion of Convertible senior notes</a></td>
<td class="nump">79,916<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">187,470<span></span>
</td>
<td class="nump">138,582<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_ContractWithCustomerLiabilityNoncurrent', window );">Unearned revenue, Net of Current portion</a></td>
<td class="nump">1,000<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_OperatingLeaseLiabilityNoncurrent', window );">Non-current lease liability - operating</a></td>
<td class="nump">5,148<span></span>
</td>
<td class="nump">5,505<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_ConvertibleLongTermNotesPayable', window );">Convertible senior notes</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">79,506<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_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">193,618<span></span>
</td>
<td class="nump">223,593<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' 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_CommonStockValue', window );">Common Stock; 45,000 shares authorized at $0.001 par value; 31,785 and 28,622 shares issued and outstanding at June 30, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">32<span></span>
</td>
<td class="nump">29<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_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">407,003<span></span>
</td>
<td class="nump">391,526<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive income</a></td>
<td class="num">(1,470)<span></span>
</td>
<td class="nump">2,183<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_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(242,306)<span></span>
</td>
<td class="num">(209,068)<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' EQUITY</a></td>
<td class="nump">163,259<span></span>
</td>
<td class="nump">184,670<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' EQUITY</a></td>
<td class="nump">$ 356,877<span></span>
</td>
<td class="nump">$ 408,263<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_BankAcceptancesExecutedAndOutstandingCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 drafts and bills of exchange that have been accepted by the reporting bank, or by others for its own account, as its liability to holders of the drafts, which is expected to be paid within one year of the date of the statement of financial position.</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;">aaoi_BankAcceptancesExecutedAndOutstandingCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_NotesPayableAndLongtermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 notes payable and long-term debt classified as 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;">aaoi_NotesPayableAndLongtermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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://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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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_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/2003/role/disclosureRef<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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-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_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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).</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 210<br> -SubTopic 10<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_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="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/2147479440/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_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</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/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(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-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_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="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>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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/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/2147480167/946-830-55-12<br><br>Reference 8: 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/2147479440/944-210-S99-1<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> -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 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/2147479617/946-210-S99-1<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(18))<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 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 13: 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 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)(iii))<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/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 24: 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 25: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: 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/2147479853/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>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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_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://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)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 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_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="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_ConvertibleDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the carrying value of long-term convertible debt as of the balance sheet date that is scheduled to be repaid within one year or in the normal operating cycle if longer. Convertible debt is a financial instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</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))<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_ConvertibleDebtCurrent</td>
</tr>
<tr>
<td style="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_ConvertibleLongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<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_ConvertibleLongTermNotesPayable</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of right-of-use asset from finance 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_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="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/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 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IndefiniteLivedContractualRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date of rights with an indefinite period of benefit that arose from a contractual arrangement with a third party (not including franchise rights and license agreements).</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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedContractualRights</td>
</tr>
<tr>
<td style="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>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</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 (c)<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 (b)<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 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 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(g)(1)(ii))<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 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 6: 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 7: 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/2147480167/946-830-55-12<br><br>Reference 8: 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/2147479617/946-210-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/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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: 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><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<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_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/2147479440/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/2147479853/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://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 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 (b)<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 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 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(g)(1)(ii))<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 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 6: 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 7: 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 8: 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 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/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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost, after allowance for credit loss, of financing receivable classified as current. Excludes net investment in 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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-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_NotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="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_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_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income and other taxes that provide economic benefits within a future period of 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/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-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_PrepaidTaxes</td>
</tr>
<tr>
<td style="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/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)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: 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/2147480842/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_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, classified as current. 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 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 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_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="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://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 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 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 (h)(2)<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 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 5: 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/2147479440/944-210-S99-1<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(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<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><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(30)(a)(3))<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_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://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/2147480167/946-830-55-12<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 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-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 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: 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/2147483575/946-220-S99-3<br><br>Reference 6: 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/2147483575/946-220-S99-3<br><br>Reference 7: 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/2147483575/946-220-S99-3<br><br>Reference 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408500416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_AllowanceForDoubtfulAccountsReceivable', window );">Accounts receivable, allowance</a></td>
<td class="nump">$ 9<span></span>
</td>
<td class="nump">$ 28<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_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">45,000<span></span>
</td>
<td class="nump">45,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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<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 (in shares)</a></td>
<td class="nump">31,785<span></span>
</td>
<td class="nump">28,622<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 (in shares)</a></td>
<td class="nump">31,785<span></span>
</td>
<td class="nump">28,622<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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allowance for credit loss on accounts receivable.</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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/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(4))<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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-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_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="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_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://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/2147479617/946-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(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_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://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/2147479617/946-210-S99-2<br><br>Reference 3: 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/2147483575/946-220-S99-3<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(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: 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/2147483575/946-220-S99-3<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(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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409307856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 41,615<span></span>
</td>
<td class="nump">$ 52,299<span></span>
</td>
<td class="nump">$ 94,645<span></span>
</td>
<td class="nump">$ 104,540<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 );">Cost of goods sold</a></td>
<td class="nump">33,717<span></span>
</td>
<td class="nump">43,671<span></span>
</td>
<td class="nump">77,503<span></span>
</td>
<td class="nump">86,888<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">7,898<span></span>
</td>
<td class="nump">8,628<span></span>
</td>
<td class="nump">17,142<span></span>
</td>
<td class="nump">17,652<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_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="re">
<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">8,640<span></span>
</td>
<td class="nump">8,328<span></span>
</td>
<td class="nump">17,176<span></span>
</td>
<td class="nump">17,814<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_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">2,269<span></span>
</td>
<td class="nump">2,164<span></span>
</td>
<td class="nump">4,596<span></span>
</td>
<td class="nump">4,722<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_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">12,954<span></span>
</td>
<td class="nump">11,035<span></span>
</td>
<td class="nump">25,502<span></span>
</td>
<td class="nump">22,254<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_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">23,863<span></span>
</td>
<td class="nump">21,527<span></span>
</td>
<td class="nump">47,274<span></span>
</td>
<td class="nump">44,790<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_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(15,965)<span></span>
</td>
<td class="num">(12,899)<span></span>
</td>
<td class="num">(30,132)<span></span>
</td>
<td class="num">(27,138)<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_NonoperatingIncomeExpenseAbstract', 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">37<span></span>
</td>
<td class="nump">31<span></span>
</td>
<td class="nump">70<span></span>
</td>
<td class="nump">59<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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(2,175)<span></span>
</td>
<td class="num">(1,408)<span></span>
</td>
<td class="num">(4,312)<span></span>
</td>
<td class="num">(2,810)<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_OtherNonoperatingIncomeExpense', window );">Other expense, net</a></td>
<td class="nump">1,167<span></span>
</td>
<td class="num">(180)<span></span>
</td>
<td class="nump">1,145<span></span>
</td>
<td class="num">(629)<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_NonoperatingIncomeExpense', window );">Total other income (expense), net</a></td>
<td class="num">(971)<span></span>
</td>
<td class="num">(1,557)<span></span>
</td>
<td class="num">(3,097)<span></span>
</td>
<td class="num">(3,380)<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">(16,936)<span></span>
</td>
<td class="num">(14,456)<span></span>
</td>
<td class="num">(33,229)<span></span>
</td>
<td class="num">(30,518)<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</a></td>
<td class="num">(8)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(8)<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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (16,944)<span></span>
</td>
<td class="num">$ (14,456)<span></span>
</td>
<td class="num">$ (33,237)<span></span>
</td>
<td class="num">$ (30,518)<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 (in dollars per share)</a></td>
<td class="num">$ (0.57)<span></span>
</td>
<td class="num">$ (0.52)<span></span>
</td>
<td class="num">$ (1.14)<span></span>
</td>
<td class="num">$ (1.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_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.57)<span></span>
</td>
<td class="num">$ (0.52)<span></span>
</td>
<td class="num">$ (1.14)<span></span>
</td>
<td class="num">$ (1.11)<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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Weighted average shares used to compute 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="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 (in shares)</a></td>
<td class="nump">29,488,561<span></span>
</td>
<td class="nump">27,612,315<span></span>
</td>
<td class="nump">29,181,913<span></span>
</td>
<td class="nump">27,537,048<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 (in shares)</a></td>
<td class="nump">29,488,561<span></span>
</td>
<td class="nump">27,612,315<span></span>
</td>
<td class="nump">29,181,913<span></span>
</td>
<td class="nump">27,537,048<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_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://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 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),(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_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_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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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/2147483589/942-220-S99-1<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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/2147483589/942-220-S99-1<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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: 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 16: 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://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/2147483575/946-220-S99-1<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.4)<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_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/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 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<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 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 16: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: 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 18: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: 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,2)<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_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/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/2147483586/944-220-S99-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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<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 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/2003/role/disclosureRef<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 5: 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 6: 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 (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/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/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<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(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: 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/2147483589/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_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 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 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 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 4: 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 5: 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 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(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: 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 8: 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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the cost of borrowed funds accounted for as interest expense.</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 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/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: 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(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-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 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: 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.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: 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 (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<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/2147483013/835-20-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_InterestExpense</td>
</tr>
<tr>
<td style="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_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accretion (amortization) of purchase discount (premium) of interest income on nonoperating 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/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<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.7(b))<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_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="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 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 2: 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 3: 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 4: 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 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 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 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 (f)<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 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 9: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: 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 13: 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/2147480167/946-830-55-10<br><br>Reference 14: 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/2147483581/946-220-45-7<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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/2147483575/946-220-S99-1<br><br>Reference 18: 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/2147483575/946-220-S99-3<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 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 30: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: 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 32: 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 33: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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/2147483589/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_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</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.7)<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_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="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_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="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_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/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 2: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: 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 5: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_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>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: 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/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-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_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 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 2: 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 3: 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 4: 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 5: 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 6: 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 (b)<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/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 8: 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 9: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: 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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="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>14
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408053648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Comprehensive Income (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (16,944)<span></span>
</td>
<td class="num">$ (14,456)<span></span>
</td>
<td class="num">$ (33,237)<span></span>
</td>
<td class="num">$ (30,518)<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Loss on foreign currency translation adjustment</a></td>
<td class="num">(5,293)<span></span>
</td>
<td class="num">(7,583)<span></span>
</td>
<td class="num">(3,654)<span></span>
</td>
<td class="num">(8,845)<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">$ (22,237)<span></span>
</td>
<td class="num">$ (22,039)<span></span>
</td>
<td class="num">$ (36,891)<span></span>
</td>
<td class="num">$ (39,363)<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/2147483589/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/2147483586/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://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 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 2: 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 3: 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 4: 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 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 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 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 (f)<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 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 9: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: 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 13: 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/2147480167/946-830-55-10<br><br>Reference 14: 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/2147483581/946-220-45-7<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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/2147483575/946-220-S99-1<br><br>Reference 18: 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/2147483575/946-220-S99-3<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 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 30: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: 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 32: 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 33: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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/2147483589/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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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 10A<br> -Subparagraph (a-c)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="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>15
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409978352">
<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>Preferred Stock [Member]</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Total</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 );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">27,323<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 );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 27<span></span>
</td>
<td class="nump">$ 381,143<span></span>
</td>
<td class="nump">$ 16,071<span></span>
</td>
<td class="num">$ (142,671)<span></span>
</td>
<td class="nump">$ 254,570<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">335<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,616<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,616<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(8,845)<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="num">(8,847)<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 loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(30,518)<span></span>
</td>
<td class="num">(30,518)<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 );">Balance (in shares) at Jun. 30, 2022</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">27,658<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 );">Balance at Jun. 30, 2022</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 28<span></span>
</td>
<td class="nump">385,531<span></span>
</td>
<td class="nump">7,226<span></span>
</td>
<td class="num">(173,191)<span></span>
</td>
<td class="nump">219,594<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 );">Balance (in shares) at Mar. 31, 2022</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">27,530<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 );">Balance at Mar. 31, 2022</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 28<span></span>
</td>
<td class="nump">383,474<span></span>
</td>
<td class="nump">14,809<span></span>
</td>
<td class="num">(158,735)<span></span>
</td>
<td class="nump">239,576<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">128<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax</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>
<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,144<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,144<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7,583)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7,583)<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 loss</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>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,456)<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 );">Balance (in shares) at Jun. 30, 2022</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">27,658<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 );">Balance at Jun. 30, 2022</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 28<span></span>
</td>
<td class="nump">385,531<span></span>
</td>
<td class="nump">7,226<span></span>
</td>
<td class="num">(173,191)<span></span>
</td>
<td class="nump">219,594<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 );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">28,623<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 );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 29<span></span>
</td>
<td class="nump">391,526<span></span>
</td>
<td class="nump">2,183<span></span>
</td>
<td class="num">(209,068)<span></span>
</td>
<td class="nump">184,670<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">507<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(159)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(159)<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 );">Share-based compensation</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">5,352<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,352<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 );">Public offering of common stock, net (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,655<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_StockIssuedDuringPeriodValueNewIssues', window );">Public offering of common stock, net</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">10,284<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">10,287<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(3,653)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="num">(3,654)<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 loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(33,237)<span></span>
</td>
<td class="num">(33,237)<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 );">Balance (in shares) at Jun. 30, 2023</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">31,785<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 );">Balance at Jun. 30, 2023</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 32<span></span>
</td>
<td class="nump">407,003<span></span>
</td>
<td class="num">(1,470)<span></span>
</td>
<td class="num">(242,306)<span></span>
</td>
<td class="nump">163,259<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 );">Balance (in shares) at Mar. 31, 2023</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">29,072<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 );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 29<span></span>
</td>
<td class="nump">394,148<span></span>
</td>
<td class="nump">3,823<span></span>
</td>
<td class="num">(225,362)<span></span>
</td>
<td class="nump">172,638<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">215<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of restricted stock, net of shares withheld for employee tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(83)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(83)<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 );">Share-based compensation</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">3,062<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,062<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_StockIssuedDuringPeriodSharesNewIssues', window );">Public offering of common stock, net (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,498<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_StockIssuedDuringPeriodValueNewIssues', window );">Public offering of common stock, net</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">9,876<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">9,879<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,293)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,293)<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 loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(16,944)<span></span>
</td>
<td class="num">(16,944)<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 );">Balance (in shares) at Jun. 30, 2023</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">31,785<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 );">Balance at Jun. 30, 2023</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 32<span></span>
</td>
<td class="nump">$ 407,003<span></span>
</td>
<td class="num">$ (1,470)<span></span>
</td>
<td class="num">$ (242,306)<span></span>
</td>
<td class="nump">$ 163,259<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_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 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 2: 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 3: 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 4: 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 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 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 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 (f)<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 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 9: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: 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 13: 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/2147480167/946-830-55-10<br><br>Reference 14: 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/2147483581/946-220-45-7<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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/2147483575/946-220-S99-1<br><br>Reference 18: 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/2147483575/946-220-S99-3<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 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 30: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: 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 32: 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 33: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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/2147483589/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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax</td>
</tr>
<tr>
<td style="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_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://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/2147481004/946-505-50-2<br><br>Reference 3: 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/2147483575/946-220-S99-3<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(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<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(28))<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 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 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(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_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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to Restricted Stock Awards, net of any shares forfeited.</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 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 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(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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</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://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/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<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/2147481004/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/2147483575/946-220-S99-3<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(28))<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 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 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(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_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="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://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/2147480167/946-830-55-12<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 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-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 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: 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/2147483575/946-220-S99-3<br><br>Reference 6: 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/2147483575/946-220-S99-3<br><br>Reference 7: 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/2147483575/946-220-S99-3<br><br>Reference 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405760288">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 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_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (33,237)<span></span>
</td>
<td class="num">$ (30,518)<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 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_ProvisionForDoubtfulAccounts', window );">Allowance of bad debt</a></td>
<td class="num">(19)<span></span>
</td>
<td class="num">(4)<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_InventoryLIFOReservePeriodCharge', window );">Inventory reserve adjustment</a></td>
<td class="nump">5,028<span></span>
</td>
<td class="nump">2,403<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_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">10,522<span></span>
</td>
<td class="nump">11,995<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_AmortizationOfFinancingCosts', window );">Amortization of debt issuance costs</a></td>
<td class="nump">614<span></span>
</td>
<td class="nump">425<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_GainLossOnDispositionOfAssets1', window );">Gain (loss) on disposal of assets</a></td>
<td class="nump">7<span></span>
</td>
<td class="num">(35)<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 );">Share-based compensation</a></td>
<td class="nump">5,352<span></span>
</td>
<td class="nump">4,616<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_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax', window );">Unrealized foreign exchange (gain) loss</a></td>
<td class="num">(1,147)<span></span>
</td>
<td class="nump">1,366<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_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract', 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 );">Accounts receivable, trade</a></td>
<td class="nump">18,596<span></span>
</td>
<td class="nump">5,938<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_IncreaseDecreaseInNotesReceivables', window );">Trade Notes receivable</a></td>
<td class="num">(488)<span></span>
</td>
<td class="nump">7,911<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_IncreaseDecreaseInPrepaidTaxes', window );">Prepaid income tax</a></td>
<td class="num">(2)<span></span>
</td>
<td class="nump">1<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="nump">6,980<span></span>
</td>
<td class="num">(11,530)<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_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="nump">97<span></span>
</td>
<td class="num">(2,118)<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_aaoi_IncreaseDecreaseInOperatingRightOfUseAsset', window );">Operating right of use asset</a></td>
<td class="nump">204<span></span>
</td>
<td class="nump">477<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">(12,735)<span></span>
</td>
<td class="nump">10,965<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_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(2,358)<span></span>
</td>
<td class="num">(2,730)<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_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Accrued Income Tax</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(1)<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_IncreaseDecreaseInContractWithCustomerLiability', window );">Unearned revenue</a></td>
<td class="nump">8,720<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_aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability', window );">Lease liability</a></td>
<td class="num">(265)<span></span>
</td>
<td class="num">(511)<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">5,868<span></span>
</td>
<td class="num">(1,350)<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_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing 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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property, plant and equipment</a></td>
<td class="num">(1,460)<span></span>
</td>
<td class="num">(1,669)<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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from disposal of equipment</a></td>
<td class="nump">66<span></span>
</td>
<td class="nump">118<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_PaymentsForProceedsFromOtherDeposits', window );">Deposits and prepaid for equipment</a></td>
<td class="num">(265)<span></span>
</td>
<td class="num">(214)<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_PaymentsToAcquireIntangibleAssets', window );">Purchase of intangible assets</a></td>
<td class="num">(251)<span></span>
</td>
<td class="num">(245)<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">(1,910)<span></span>
</td>
<td class="num">(2,010)<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>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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable', window );">Principal payments of long-term debt and notes payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(7,336)<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_ProceedsFromLinesOfCredit', window );">Proceeds from line of credit borrowings</a></td>
<td class="nump">45,343<span></span>
</td>
<td class="nump">76,903<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_RepaymentsOfLinesOfCredit', window );">Repayments of line of credit borrowings</a></td>
<td class="num">(63,981)<span></span>
</td>
<td class="num">(69,988)<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_ProceedsFromBankDebt', window );">Proceeds from bank acceptance payable</a></td>
<td class="nump">27,813<span></span>
</td>
<td class="nump">19,951<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_RepaymentsOfBankDebt', window );">Repayments of bank acceptance payable</a></td>
<td class="num">(31,079)<span></span>
</td>
<td class="num">(17,292)<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_FinanceLeasePrincipalPayments', window );">Principal payments of financing lease</a></td>
<td class="num">(10)<span></span>
</td>
<td class="num">(9)<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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payments of tax withholding on behalf of employees related to share-based compensation</a></td>
<td class="num">(159)<span></span>
</td>
<td class="num">(227)<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_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from common stock offering, net</a></td>
<td class="nump">10,287<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(11,786)<span></span>
</td>
<td class="nump">2,002<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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash</a></td>
<td class="nump">853<span></span>
</td>
<td class="nump">872<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net decrease in cash, cash equivalents and restricted cash</a></td>
<td class="num">(6,975)<span></span>
</td>
<td class="num">(486)<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 at beginning of period</a></td>
<td class="nump">35,587<span></span>
</td>
<td class="nump">41,136<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 at end of period</a></td>
<td class="nump">28,612<span></span>
</td>
<td class="nump">40,650<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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest, net of amounts capitalized</a></td>
<td class="nump">3,611<span></span>
</td>
<td class="nump">2,616<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>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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions', window );">Net change in accounts payable related to property and equipment additions</a></td>
<td class="nump">85<span></span>
</td>
<td class="num">(291)<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_aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions', window );">Net change in deposits and prepaid for equipment related to property and equipment additions</a></td>
<td class="num">$ (92)<span></span>
</td>
<td class="nump">$ 41<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to property and equipment additions 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>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;">aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deposits and prepayments for equipment related to property and equipment additions.</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;">aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increase (decrease) during the period in operating and finance lease obligations.</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;">aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_IncreaseDecreaseInOperatingRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) during the period in operating right-of-use 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;">aaoi_IncreaseDecreaseInOperatingRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal amounts on debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</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;">aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_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_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense attributable to debt issuance costs.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 2: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 4: 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(8))<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_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="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_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/2147481877/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_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</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_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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; 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/2009/role/commonPracticeRef<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/2147481877/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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal payment on finance 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 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="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_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</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 (b)<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_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</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_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet paid.</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_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligation to transfer good or service to customer for which consideration has been received or is receivable.</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 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: 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_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInNotesReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of the amounts due from borrowers for outstanding secured or unsecured loans evidenced by a note.</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_IncreaseDecreaseInNotesReceivables</td>
</tr>
<tr>
<td style="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_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_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInPrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.</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_IncreaseDecreaseInPrepaidTaxes</td>
</tr>
<tr>
<td style="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_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</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 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<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 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_InterestPaidNet</td>
</tr>
<tr>
<td style="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_InventoryLIFOReservePeriodCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in the inventory reserve representing the cumulative difference in cost between the first in, first out and the last in, first out inventory valuation methods, which change has been reflected in the statement of income 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> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryLIFOReservePeriodCharge</td>
</tr>
<tr>
<td style="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_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_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 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 2: 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 3: 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 4: 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 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 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 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 (f)<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 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 9: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: 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 13: 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/2147480167/946-830-55-10<br><br>Reference 14: 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/2147483581/946-220-45-7<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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/2147483575/946-220-S99-1<br><br>Reference 18: 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/2147483575/946-220-S99-3<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 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 30: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: 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 32: 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 33: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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/2147483589/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_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_PaymentsForProceedsFromOtherDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deposits 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_PaymentsForProceedsFromOtherDeposits</td>
</tr>
<tr>
<td style="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_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_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</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_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="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_ProceedsFromBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 bank borrowing 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<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_ProceedsFromBankDebt</td>
</tr>
<tr>
<td style="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_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_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<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 45<br> -Paragraph 14<br> -Subparagraph (b)<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_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="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_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</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 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-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_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (reversal of expense) for expected credit loss on accounts receivable.</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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: 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(5))<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_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="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_RepaymentsOfBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to settle a bank borrowing 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<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_RepaymentsOfBankDebt</td>
</tr>
<tr>
<td style="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_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<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 45<br> -Paragraph 15<br> -Subparagraph (b)<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_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 net unrealized gain (loss) related to the change in fair value of foreign currency exchange rate derivatives designated as cash flow hedging instruments. Recorded in accumulated other comprehensive income to the extent that the cash flow hedge is determined to be effective.</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 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax</td>
</tr>
<tr>
<td style="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>17
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413633824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Description of Business<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Business Description and Basis of Presentation [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Note <em style="font: inherit;">1.</em> &#160; Description of Business&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Business Overview</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#8203;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Applied Optoelectronics, Inc. (&#8220;AOI&#8221; or the &#8220;Company&#8221;) is a Delaware corporation. The Company is a leading, vertically integrated provider of fiber-optic networking products, primarily for <em style="font: inherit;">four</em> networking end-markets: cable television ("CATV"),&#160;internet data center, telecommunications ("telecom")&#160;and fiber-to-the-home ("FTTH"). The Company designs and manufactures a wide range of optical communications products at varying levels of integration, from components, subassemblies and modules to complete turn-key equipment.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The Company has manufacturing and research and development facilities located in the U.S., Taiwan and China. In the U.S., at its corporate headquarters and manufacturing facilities in Sugar Land, Texas, the Company primarily manufactures lasers and laser components and performs research and development activities for laser component and optical module products. In addition, the Company also has a research and development facility in Duluth, Georgia. The Company operates in Taipei, Taiwan and Ningbo, China through its wholly-owned subsidiary Prime World International Holdings, Ltd. (&#8220;Prime World&#8221;, incorporated in the British Virgin Islands). Prime World operates a branch in Taipei, Taiwan, which primarily manufactures transceivers and performs research and development activities for the transceiver products. Prime World is also the parent of Global Technology, Inc. (&#8220;Global&#8221;, incorporated in the People&#8217;s Republic of China). Through Global, the Company primarily manufactures certain of its data center transceiver products, including subassemblies, as well as CATV systems and equipment, and performs research and development activities for the CATV products.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Interim Financial Statements</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>&#8203;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The unaudited condensed consolidated financial statements of the Company as of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em> and for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> June 30, 2022</em>, have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) for interim information and with the instructions on Form <em style="font: inherit;">10</em>-Q and Rule <em style="font: inherit;">10</em>-<em style="font: inherit;">01</em> of Regulation S-<em style="font: inherit;">X</em> pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;). In accordance with those rules and regulations, the Company has omitted certain information and notes required by GAAP for annual consolidated financial statements. In the opinion of management, the condensed consolidated financial statements contain all adjustments, except as otherwise noted, necessary for the fair presentation of the Company&#8217;s financial position and results of operations for the periods presented. The year-end condensed balance sheet data was derived from audited financial statements. These condensed consolidated financial statements should be read in conjunction with the Consolidated Financial Statements and Notes thereto included in the Company&#8217;s Annual Report on Form <em style="font: inherit;">10</em>-K (&#8220;Annual Report&#8221;) for the fiscal year ended <em style="font: inherit;"> December 31, 2022</em>. The results of operations for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em> are <em style="font: inherit;">not</em> necessarily indicative of the results expected for the entire fiscal year. All significant inter-company accounts and transactions have been eliminated.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Use of Estimates</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts reported. Actual results could differ from those estimates in the consolidated financial statement<span style="background-color:#ffffff;">s and accompanying notes. Significant estimates and assumptions that impact these financial statements and the accompanying notes relate to, among other things,&#160;allowance for doubtful accounts, inventory reserve, impairment of long-lived assets, service and product warranty costs, share-based compensation expense, estimated useful lives of property and equipment, and taxes.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;"><i>Divestiture Agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd</i></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">On <em style="font: inherit;"> September 15, 2022, </em>the Company entered into a definitive purchase agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd ("Purchaser"), which is a company incorporated in the People's Republic of China ("PRC"), to divest the Company's manufacturing facilities in PRC and certain assets related to its transceiver business and multi-channel optical sub-assembly products (collectively, the "Divestiture"). The closing of the transaction&#160;is subject to the satisfaction of certain closing conditions, including the approval from the Committee&#160;on Foreign Investment in the United States ("CFIUS").&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">The purchase price will be an amount equal to the $150 million USD equivalent of Renminbi, less a holdback amount.&#160;Prior to the closing of the transaction the Company anticipates investing an amount equal to between 4% and 10% of the estimated proceeds from the transaction in exchange for a 10% equity interest in the Purchaser.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;">Our management has performed an evaluation as required by ASC-<em style="font: inherit;">360</em>-<em style="font: inherit;">10</em>-<em style="font: inherit;">45</em>-<em style="font: inherit;">9</em> to determine whether to classify certain of our assets and liabilities as held for sale as of&#160;&#160;<em style="font: inherit;"> June 30, 2023</em>. ASC <em style="font: inherit;">360</em> requires that a company classifies a business as held for sale in the period in which management commits to a plan to sell the business, the business is available for immediate sale in its present condition, an active program to complete the plan to sell the business is initiated, the sale of the business within <em style="font: inherit;">one</em> year is probable and the business is being marketed at a reasonable price in relation to its fair value. Although we have announced the execution of a definitive purchase agreement regarding the Divestiture, completion of this transaction is <em style="font: inherit;">not</em> certain for reasons that include the fact that the proposed sale is subject to regulatory approval in the US and China, the timing and likelihood of which is uncertain and beyond our control, and the fact that we cannot be certain that the buyer will <em style="font: inherit;">not</em> request modification of terms within the definitive purchase agreement. As a result, we have concluded that at the present time the business is <em style="font: inherit;">not</em> "available for immediate sale" under the meaning defined in ASC <em style="font: inherit;">360</em> and therefore <em style="font: inherit;">none</em> of our assets or liabilities should be classified as held for sale.</p>
   <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&#160;</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_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</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 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_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>18
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414834912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 );">Significant Accounting Policies [Text Block]</a></td>
<td class="text">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">2.</em>&#160; Significant Accounting Policies</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">There have been <em style="font: inherit;">no</em> changes in the Company&#8217;s significant accounting policies for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em>, as compared to the significant accounting policies described in its <em style="font: inherit;">2022</em> Annual Report.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Recent Accounting Pronouncements</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"><span style="background-color:#ffffff;">&#8203;</span><i><span style="background-color:#ffffff;">&#8203;</span></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">Recent Accounting Pronouncements Yet to be Adopted</span></i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">To date, there have been&#160;<em style="font: inherit;">no</em>&#160;recent accounting</span> pronouncement&#160;<em style="font: inherit;">not</em>&#160;yet effective that have significance, or potential significance, to our Consolidated Financial Statements.&#160;</p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"></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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411605696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 from Contract with Customer [Text Block]</a></td>
<td class="text">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">3.</em>&#160; Revenue Recognition</b></p>
   <p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>&#8203;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>Disaggregation of Revenue</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">Revenue is classified based on the location where the product is manufactured. For additional information on the disaggregated revenues by geographical region, see Note <em style="font: inherit;">17,</em> "Geographic Information.&#8221;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">Revenue is also classified by major product category and is presented below (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,713</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">45.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">66.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">41.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,231</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">786</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,615</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">52,299</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37,123</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">39.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">48,694</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">46.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">47,924</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,911</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,938</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,541</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">124</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,603</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,270</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,645</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">104,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>Unearned Revenue</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">We record unearned revenues when cash payments are received or due in advance of our performance, including amounts which are refundable. Unearned revenues solely relate to Microsoft's SOW contract prices allocated to the performance obligations that are unsatisfied, or partially unsatisfied, as of the balance sheet date. Unearned revenue balance as of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>&#160;was $11.7 million&#160;and $3 million, respectively. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, revenue recognized from the unearned revenue balance&#160;wa<span style="background-color:#ffffff">s $0.9&#160;million </span>and $0&#160;million, respectively. For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, revenue recognized from the unearned revenue balance&#160;wa<span style="background-color:#ffffff">s $1.2&#160;million </span>and $0&#160;million, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;">&#160;</p>


   <p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>20
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411714000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Leases<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_aaoi_LesseeOperatingAndFinanceLeasesTextBlock', window );">Lessee, Operating and Finance Leases [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">4.</em>&#160; Leases</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company leases space under non-cancellable operating leases for manufacturing facilities, research and development offices and certain storage facilities and apartments. These leases do <em style="font: inherit;">not</em> contain contingent rent provisions. The Company also leases certain machinery, office equipment and a vehicle under an operating lease. Many of its leases include both lease (e.g. fixed payments including rent, taxes, and insurance costs) and non-lease components (e.g. common-area or other maintenance costs) which are accounted for as a single lease component as the Company has elected the practical expedient to group lease and non-lease components for all leases. Several of the leases include <em style="font: inherit;">one</em> or more options to renew which have been assessed and either included or excluded from the calculation of the lease liability of the right of use ("ROU") asset based on management&#8217;s intentions and individual fact patterns. Several warehouses and apartments have non-cancellable lease terms of less than <em style="font: inherit;">one</em>-year and therefore, the Company has elected the practical expedient to exclude these short-term leases from its ROU asset and lease liabilities.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As most of the Company&#8217;s leases do <em style="font: inherit;">not</em> provide an implicit rate, the Company uses its incremental borrowing rate, which is the rate incurred to borrow on a collateralized basis over a similar term an amount equal to the lease payments in a similar economic environment. Based on the applicable lease terms and current economic environment, the Company applies a location approach for determining the incremental borrowing rate.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>
   <p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&#160;</p>
   <div style="font-size: 10pt;">
    <span style="background-color: rgb(255, 255, 255);"><span style="font-family: Times New Roman;">Lease expense is included under general and administrative expenses and was $0.3 million and $0.6 million each for the&#160;</span></span>
    <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023</em>
    <span style="font-family: Times New Roman;">&#160;and&#160;</span>
    <em style="font: inherit;"> June 30, 2022</em>
    <span style="font-size: 10pt; font-family: &quot;Times New Roman&quot;;">, respectively. Th</span>
    <span style="font-family: Times New Roman;">e components of lease expense were as follows for the periods indicated (</span>
    <span style="font-family: Times New Roman;">in thousands):</span>
   </div>
   <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">281</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">293</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">565</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">598</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Financing lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Short Term lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">292</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">318</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">587</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">635</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Maturities of lease liabilities are as follows for the future <em style="font: inherit;">one</em>-year periods ending&#160;<em style="font: inherit;"> June 30, 2023</em> (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>

    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Operating</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Financing</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,246</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,219</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,056</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2029 and thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,261</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(681</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Present value</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,203</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The weighted average remaining lease term and discount rate for the&#160;leases were as follows for the periods indicated:</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Remaining Lease Term (Years) - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.65</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.67</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Remaining Lease Term (Years) - financing leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.33</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1.33</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Discount Rate - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Discount Rate - financing leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Supplemental cash flow information related to the&#160;leases was as follows for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cash paid for amounts included in the measurement of lease liabilities</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">311</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">622</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from financing lease</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Financing cash flows from financing lease</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>


  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_LesseeOperatingAndFinanceLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and finance leases of lessee. Includes, but is not limited to, description of operating and finance lease and maturity analysis of operating and finance lease liability.</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;">aaoi_LesseeOperatingAndFinanceLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>21
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413617712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Cash, Cash Equivalents and Restricted Cash<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_CashAndCashEquivalentsDisclosureTextBlock', window );">Cash and Cash Equivalents Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">5.</em>&#160; Cash, Cash Equivalents and Restricted Cash</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The following table provides a reconciliation of c<span style="background-color:#ffffff;">ash, cash equivalents and r</span>estricted cash reported within the statement of financial position that sum to the total of the same such amounts in the statement of cash flows (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21,578</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">24,685</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,034</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,902</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total cash, cash equivalents and restricted cash shown in the statement of cash flows</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">28,612</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">35,587</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Restricted cash includes guarantee deposits for customs duties, China government subsidy fund,&#160;and compensating balances associated&#160;with&#160;certain credit facilities. As of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, there was $3.9&#160;million and $8.7&#160;million&#160;of restricted cash required for bank acceptance notes issued to vendors, respectively. In addition, there was $1.9&#160;million and $1.1&#160;million certificate of deposit associated with credit facilities with a bank in China as of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, respectively. There was $0.7&#160;million and $1.0 million guarantee deposits for customs duties as of&#160;<em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, respectively.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></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_CashAndCashEquivalentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) 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. Generally, only investments maturing within three months from the date of acquisition qualify.</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/2147479440/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_CashAndCashEquivalentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>22
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408474672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Earnings (Loss) Per Share<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 );">Earnings Per Share [Text Block]</a></td>
<td class="text">
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Note <em style="font: inherit;">6.</em>&#160; Earnings (Loss) Per Share</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Basic net loss per share has been computed using the weighted-average number of shares of common stock outstanding during the period. Diluted net loss per share has been computed using the weighted-average number of shares of common stock and dilutive potential common shares from stock options, restricted stock units and senior convertible notes outstanding during the period. In periods with net losses, normally dilutive shares become anti-dilutive. Therefore, basic and diluted loss per share are the same.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The following table sets forth the computation of the basic and diluted net loss per share for the periods indicated (in thousands):</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Numerator:</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(16,944</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,456</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(33,237</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30,518</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Denominator:</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average shares used to compute net loss per share</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,612</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,182</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,537</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,612</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,182</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,537</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss per share</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.57</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.52</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.14</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.11</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.57</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.52</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.14</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.11</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The following potentially dilutive securities were excluded from the diluted net loss per share as their effect would have been antidilutive (in thousands):</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Employee stock options</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#8212;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted stock units</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">498</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#8212;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">473</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares for convertible senior notes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total antidilutive shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,085</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,060</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>23
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413598112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Inventories<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">7.</em>&#160; Inventories</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Inventories, net of inventory write-downs, consist of the following for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">25,194</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">25,732</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Work in process and sub-assemblies</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">39,563</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,840</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,384</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total inventories</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">66,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,679</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#160; &#160; &#160; &#160; &#160;&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">For the <em style="font: inherit;">three</em> months&#160;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#160;the inventory reserve adjustment expensed for inventory was $2.4&#160;million, and $0.4 million, respectively.&#160;For the <em style="font: inherit;">six</em> months&#160;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#160;the inventory reserve adjustment expensed for inventory was $5.0 million, and $2.4&#160;million, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">For&#160;the&#160;<em style="font: inherit;">three</em>&#160;months&#160;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#160;the&#160;direct&#160;inventory write-offs related to scrap, discontinued products, and damaged inventories were $3.1 million and $1.8 million, respectively.&#160;For&#160;the&#160;<em style="font: inherit;">six</em> months&#160;ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#160;the&#160;direct&#160;inventory&#160;write-offs&#160;related&#160;to&#160;scrap,&#160;discontinued products,&#160;and&#160;damaged&#160;inventories&#160;were&#160;$6.9 million and $2.7 million, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><span style="background-color:#ffffff;">&#8203; </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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>24
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413634656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Property, Plant and Equipment<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant and Equipment Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Note <em style="font: inherit;">8.</em>&#160; Property, Plant &amp; Equipment</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Property, plant and equipment consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">85,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">86,372</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">247,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">251,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Furniture and fixtures</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,382</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Computer equipment and software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,713</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transportation equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">356,168</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less accumulated depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(183,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(177,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">167,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">178,649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total property, plant and equipment, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">197,879</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">210,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, the depreciation expense of property, plant and equipment wa<span style="background-color:#ffffff;">s $5.0&#160;million </span>and $5.7 million, respectively. For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, the depreciation expense of property, plant and equipment wa<span style="background-color:#ffffff">s $10.2 million </span>and $11.7 million, respectively. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>,&#160;the capitalized interest was $0&#160;million and $0.2&#160;million, respectively.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em><i><span style="background-color:null;">, </span></i><span style="background-color:null;">the Company concluded that its continued loss history constitutes a triggering event as described in ASC </span><i><span style="background-color:null;"><em style="font: inherit;">360</em></span></i><span style="background-color:null;">-</span><i><span style="background-color:null;"><em style="font: inherit;">10</em></span></i><span style="background-color:null;">-</span><i><span style="background-color:null;"><em style="font: inherit;">35</em></span></i><span style="background-color:null;">-</span><i><span style="background-color:null;"><em style="font: inherit;">21,</em></span></i><i><span style="background-color:null;">Property, Plant, and Equipment</span></i><span style="background-color:null;">.&#160; The Company performed a recoverability test and concluded that future undiscounted cash flows exceed the carrying amount of the Company&#8217;s long-lived assets and therefore no impairment charge was recorded.&#160;</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: 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/2147480321/958-360-50-6<br><br>Reference 3: 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/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-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_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>25
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414740224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Intangible Assets, Net<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">9.</em>&#160; Intangible Assets, net</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Intangible assets consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>

    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">June 30, 2023</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Intangible</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">assets, net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(5,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">49</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,290</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(5,665</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,625</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Intangible</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">assets, net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,994</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(5,330</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(5,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, amortization expense for intangible assets, included in general and administrative expenses on the statement of operations, was each $0.2&#160;million. For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>, amortization expense for intangible assets, included in general and administrative expenses on the statement of operations, was each $0.3&#160;million.&#160;The remaining weighted average amortization period for intangible assets is approxi<span style="background-color:#ffffff;">mately 5.6&#160;years.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">At <em style="font: inherit;"> June 30, 2023</em>,&#160;future amortization expense for intangible assets for future <em style="font: inherit;">one</em> year periods is estimated to be (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2024</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">646</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2025</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2026</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2027</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2028</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2029 and thereafter</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,625</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 or part of the information related to 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/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/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_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413572480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Fair Value of Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_FairValueDisclosuresTextBlock', window );">Fair Value Disclosures [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -36pt; text-indent: 36pt;"><b>Note <em style="font: inherit;">10.</em>&#160; Fair Value of Financial Instruments&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The carrying value amounts of cash and cash equivalents, restricted cash, accounts receivable, prepaid expenses, notes receivable and other current assets, accounts payable, accrued expenses, bank acceptance payable&#160;and other current liabilities approximate fair value because of the short-term maturity of these instruments.&#160;The Company believes that the interest rates in effect at each period end represent the current market rates for similar borrowings.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The fair value of convertible senior notes is measured for disclosure purposes only. The fair value and carrying amount of our convertible senior notes as of <em style="font: inherit;"> June 30, 2023</em>&#160;was $65.9&#160;million and $79.9&#160;million, respectively. As of <em style="font: inherit;"> December 31, 2022, </em>the&#160;fair value and carrying amount of our convertible senior notes was $58.3 million and $79.5 million, respectively.&#160;The fair value is based on observable market prices for this debt, which is traded in less active markets and are therefore classified as a Level <em style="font: inherit;">2</em> fair value measurement.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 36pt;">&#160;&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-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_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414740224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Notes Payable and Long-term Debt<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_DebtDisclosureTextBlock', window );">Debt Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">11.</em>&#160; Notes Payable and Long-Term Debt</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Notes payable and long-term debt consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 102px;"><b><em style="font: inherit;">June 30, 2023</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Revolving line of credit with a U.S. bank up to $<span style="-sec-ix-hidden:c100825693"><span style="-sec-ix-hidden:c100825694">27.780</span></span> million with interest at <span style="-sec-ix-hidden:c100825695"><span style="-sec-ix-hidden:c100825696">9.663</span></span>%, maturing the earlier of either <span style="-sec-ix-hidden:c100825697"><span style="-sec-ix-hidden:c100825698">12/14/2023</span></span> or <span style="-sec-ix-hidden:c100825699"><span style="-sec-ix-hidden:c100825700">11/16/2025</span></span> if the convertible debt remains in effect</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">5,830</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">25,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Revolving line of credit with a China bank up to $<span style="-sec-ix-hidden:c100825703"><span style="-sec-ix-hidden:c100825704">19,037</span></span> with interest from <span style="-sec-ix-hidden:c100825705"><span style="-sec-ix-hidden:c100825706">4.57</span></span>% to <span style="-sec-ix-hidden:c100825707"><span style="-sec-ix-hidden:c100825708">6.12</span></span>%, maturing <span style="-sec-ix-hidden:c100825709"><span style="-sec-ix-hidden:c100825710">May 24, 2024</span></span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,757</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Credit facility with a China bank up to $<span style="-sec-ix-hidden:c100825713"><span style="-sec-ix-hidden:c100825714">26,651</span></span> with interest of <span style="-sec-ix-hidden:c100825715"><span style="-sec-ix-hidden:c100825716">4.45</span></span>% ~ <span style="-sec-ix-hidden:c100825717"><span style="-sec-ix-hidden:c100825718">6.6</span></span>%, maturing <span style="-sec-ix-hidden:c100825719"><span style="-sec-ix-hidden:c100825720">June 6, 2027</span></span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">18,683</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">20,140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Sub-total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38,270</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less debt issuance costs, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(994</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,168</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Grand total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">37,276</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57,074</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less current portion</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(37,276</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(57,074</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-current portion</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#8212;</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Bank Acceptance Notes Payable</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 102px;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Bank acceptance notes issued to vendors with a zero percent interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,637</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,337</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The current portion of long-term debt is the amount payable within <em style="font: inherit;">one</em> year of the balance sheet date of <em style="font: inherit;"> June 30, 2023</em>.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Maturities of long-term debt are as follows for the future <em style="font: inherit;">one</em>-year periods ending <em style="font: inherit;"> June 30, 2023</em> (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Within one year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">37,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Beyond one year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">On <em style="font: inherit;"> November 16, 2022, </em>the Company entered into a Loan Security and Guarantee Agreement (the &#8220;Credit Facility&#8221;) with CIT Northbridge Credit, LLC (&#8220;CIT&#8221;), as agent for secured parties. The Credit Facility provides the Company with a <span style="-sec-ix-hidden:c100825635">three</span>-year, $27.78 million revolving line of credit. Borrowings under the Credit Facility will be used for working capital needs, capital expenditures, and other corporate purposes. The Company's obligations under the Credit Facility are secured by the Company's inventory, accounts receivable, instruments, equipment, intellectual property, and all business assets with the exception of real estate and all foreign assets. Borrowings will bear interest at a rate equal to the Secured Overnight Financing Rate (SOFR) plus 3.75%, while monthly average usage is less than <em style="font: inherit;">50%</em> of the Credit Facility, otherwise SOFR plus 4.75%. The Credit Facility will become due at the earlier date of either <em style="font: inherit;"> November 16, 2025 </em>or <em style="font: inherit;">91</em> days prior to the maturity of the Convertible Notes. As of <em style="font: inherit;"> June 30, 2023</em>, $5.8 million was outstanding under the Credit Facility.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">On <em style="font: inherit;"> May 24, 2019, </em>the Company&#8217;s China subsidiary, Global, entered into a <span style="-sec-ix-hidden:c100825642">five</span>-year revolving credit line agreement, totaling 180,000,000 RMB (the &#8220;SPD Credit Line&#8221;), or approximately $25.4 million at that time, and a mortgage security agreement (the &#8220;Security Agreement&#8221;), with Shanghai Pudong Development Bank Co., Ltd ("SPD"). Borrowing under the SPD Credit Line will be used for general corporate and capital investment purposes, including the issuance of bank acceptance notes to Global&#8217;s vendors. Global <em style="font: inherit;"> may </em>draw upon the SPD Credit Line on an as-needed basis at any time during the <em style="font: inherit;">5</em>-year term; however, draws under the SPD Credit Line <em style="font: inherit;"> may </em>become due and repayable to SPD at SPD&#8217;s discretion due to changes in Chinese government regulations and/or changes in Global&#8217;s financial and operational condition. Each draw will bear interest equal to SPD&#8217;s commercial banking interest rate effective on the day of the applicable draw. Global&#8217;s obligations under the SPD Credit Line will be secured by real property owned by Global and mortgaged to the Bank under the terms of the Security Agreement. As of <em style="font: inherit;"> June 30, 2023</em>, $13.8 million was outstanding under the SPD Credit Line and the outstanding balance of bank acceptance notes issued to vendors was $8.6&#160;million.</p>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">On <em style="font: inherit;"> June 7, 2022, </em>the Company's China Subsidiary, Global, entered a security agreement with China Zheshang Bank in Ningbo City, China ("CZB") for a <span style="-sec-ix-hidden:c100825648">five</span>-year credit line agreement, totaling 200,000,000 RMB (the <em style="font: inherit;">"&#165;200M</em> Credit Facility"), or approximately $29.9 million at that time. Global <em style="font: inherit;"> may </em>draw upon the <em style="font: inherit;">&#165;200M</em> Credit Facility between <em style="font: inherit;"> June 7, 2022 </em>and <em style="font: inherit;"> June 6, 2027 (" </em><em style="font: inherit;">&#165;200M</em> Credit Period"). During the <em style="font: inherit;">&#165;200M</em> Credit Period, Global <em style="font: inherit;"> may </em>request to draw upon the <em style="font: inherit;">&#165;200M</em> Credit Facility on an as-needed basis; however, draws under the <em style="font: inherit;">&#165;200M</em> Credit Facility <em style="font: inherit;"> may </em>become due and repayable to CZB at CZB&#8217;s discretion due to changes in Chinese government regulations and/or changes in Global&#8217;s financial and operational condition. Each draw will be facilitated by a separate credit agreement specifying the terms of each draw and will bear interest equal to CZB's commercial banking interest rate effective on the day of the applicable draw. Global&#8217;s obligations under the <em style="font: inherit;">&#165;200M</em> Credit Facility will be secured by real property owned by Global and mortgaged to CZB under the terms of the Real Estate Security Agreement. As of <em style="font: inherit;"> June 30, 2023</em>, $18.7&#160;million was outstanding under the <em style="font: inherit;">&#165;200M</em> Credit Facility and the outstanding balance of bank acceptance notes issued to vendors was $5.2 million.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">As of </span><em style="font: inherit;"> June 30, 2023</em><span style="background-color:#ffffff;"> and </span><em style="font: inherit;"> December 31, 2022</em><span style="background-color:#ffffff;">, the Company had $</span>32.5 million and $13.3&#160;<span style="background-color:#ffffff;">million of unused borrowing capacity, respectively.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">As of <em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;"> December 31, 2022</em>, there <span style="background-color:#ffffff;">was $6.8 million and $9.9&#160;million of restricted cash, investme</span>nts or security deposits associated with the loan facilities, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: 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(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>28
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413607520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Convertible Senior Notes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_aaoi_ConvertibleDebtTextBlock', window );">Convertible Debt [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">12.</em>&#160; Convertible Senior Notes</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">On <em style="font: inherit;"> March 5, 2019, </em>the Company issued&#160;$80.5 million&#160;of 5% convertible senior notes due <em style="font: inherit;">2024</em> (the &#8220;Notes&#8221;). The Notes were issued pursuant to an indenture, dated as of <em style="font: inherit;"> March&#160;</em><em style="font: inherit;">5,</em> <em style="font: inherit;">2019</em> (the &#8220;Indenture&#8221;), between the Company and Wells Fargo Bank, National Association, as trustee, paying agent, and conversion agent (the &#8220;Trustee&#8221;). The Notes bear interest at a rate of <em style="font: inherit;">5.00%</em> per year, payable in cash semi-annually in arrears on <em style="font: inherit;"> March&#160;</em><em style="font: inherit;">15</em> and <em style="font: inherit;"> September&#160;</em><em style="font: inherit;">15</em> of each year, beginning on <em style="font: inherit;"> September&#160;</em><em style="font: inherit;">15,</em> <em style="font: inherit;">2019.</em> The Notes will mature on <em style="font: inherit;"> March&#160;</em><em style="font: inherit;">15,</em> <em style="font: inherit;">2024,</em> unless earlier repurchased, redeemed or converted in accordance with their terms.&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The sale of the Notes generated net proceeds of $76.4 million, after deducting the Initial Purchasers&#8217; discounts and offering expenses payable by the Company.&#160;The Company used approximately $37.8 million of the net proceeds from the offering to fully repay the CapEx Loan and Term Loan with Truist Bank and the remainder will be used for general corporate purposes.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The following table presents the carrying value of the Notes for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 47.05pt;">&#8203;</p>

    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Principal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80,500</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80,500</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Unamortized debt issuance costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(584</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(994</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Net carrying amount</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,916</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,506</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Notes are convertible at the option of holders of the Notes at any time until the close of business on the scheduled trading day immediately preceding the maturity date. Upon conversion, holders of the Notes will receive shares of the Company&#8217;s common stock, together, if applicable, with cash in lieu of any fractional share, at the then-applicable conversion rate. The initial conversion rate is 56.9801 shares of the Company&#8217;s common stock per $1,000 principal amount of Notes (representing an initial conversion price of approximately $17.55 per share of common stock, which represents an initial conversion premium of approximately 30% above the closing price of $13.50 per share of the Company&#8217;s common stock on <em style="font: inherit;"> February&#160;</em><em style="font: inherit;">28,</em> <em style="font: inherit;">2019</em>), subject to customary adjustments. If a make-whole fundamental change (as defined in the Indenture) occurs, and in connection with certain other conversions before <em style="font: inherit;"> March&#160;</em><em style="font: inherit;">15,</em> <em style="font: inherit;">2022,</em> the Company will in certain circumstances increase the conversion rate for a specified period of time.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Initially and&#160;<span style="background-color:#ffffff">as of </span><em style="font: inherit;"> June 30, 2023</em>, there are <em style="font: inherit;">no</em> guarantors of the Notes, but the Notes will be fully and unconditionally guaranteed, on a senior, unsecured basis by certain of the Company&#8217;s future domestic subsidiaries.&#160; The Notes are the Company&#8217;s senior, unsecured obligations and are equal in right of payment with existing and future senior, unsecured indebtedness, senior in right of payment to the Company&#8217;s existing and future indebtedness that is expressly subordinated to the Notes and effectively subordinated to the Company&#8217;s existing and future secured indebtedness, to the extent of the value of the collateral securing that indebtedness.&#160; The Note Guarantee (as defined in the Indenture) of each future guarantor, if any, will be such guarantor&#8217;s senior, unsecured obligations and are equal in right of payment with existing and future senior, unsecured indebtedness, senior in right of payment to such future guarantor&#8217;s existing and future indebtedness that is expressly subordinated to the Notes and effectively subordinated to such future guarantor&#8217;s existing and future secured indebtedness, to the extent of the value of the collateral securing that indebtedness.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Holders <em style="font: inherit;"> may </em>require the Company to repurchase their Notes upon the occurrence of a fundamental change (as defined in the Indenture) at a cash purchase price equal to the principal amount thereof plus accrued and unpaid interest, if any.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">After <em style="font: inherit;"> March 15, 2022, </em>the Company <em style="font: inherit;"> may </em>redeem for cash all or part of the Notes if the last reported sale price per share of the Company&#8217;s common stock exceeds 130% of the conversion price on (i)&#160;each of at least 20 trading days, whether or <em style="font: inherit;">not</em> consecutive, during the 30 consecutive trading days ending on, and including, the trading day immediately before the date the Company sends the related redemption notice; and (ii)&#160;the trading day immediately before the date the Company sends such redemption notice.&#160; The redemption price is equal to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.&#160; In addition, calling any Note for redemption will constitute a &#8220;make-whole fundamental change&#8221; with respect to that Note, in which case the conversion rate applicable to the conversion of that Note will be increased in certain circumstances if it is converted after it is called for redemption.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Indenture contains covenants that limit the Company&#8217;s ability and the ability of our subsidiaries to, among other things: (i)&#160;incur or guarantee additional indebtedness or issue disqualified stock; and (ii)&#160;create or incur liens.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Pursuant to the guidance in ASC <em style="font: inherit;">815</em>-<em style="font: inherit;">40,</em> Contracts in Entity&#8217;s Own Equity, the Company evaluated whether the conversion feature of the note needed to be bifurcated from the host instrument as a freestanding financial instrument. Under ASC <em style="font: inherit;">815</em>-<em style="font: inherit;">40,</em> to qualify for equity classification (or non-bifurcation, if embedded) the instrument (or embedded feature) must be both (<em style="font: inherit;">1</em>) indexed to the issuer&#8217;s own stock and (<em style="font: inherit;">2</em>) meet the requirements of the equity classification guidance. Based upon the Company&#8217;s analysis, it was determined the conversion option is indexed to its own stock and also met all the criteria for equity classification contained in ASC <em style="font: inherit;">815</em>-<em style="font: inherit;">40</em>-<em style="font: inherit;">25</em>-<em style="font: inherit;">7</em> and <em style="font: inherit;">815</em>-<em style="font: inherit;">40</em>-<em style="font: inherit;">25</em>-<em style="font: inherit;">10.</em> Accordingly, the conversion option is <em style="font: inherit;">not</em> required to be bifurcated from the host instrument as a freestanding financial instrument. Since the conversion feature meets the equity scope exception from derivative accounting, the Company then evaluated whether the conversion feature needed to be separately accounted for as an equity component under ASC <em style="font: inherit;">470</em>-<em style="font: inherit;">20,</em> Debt with Conversion and Other Options.&#160; The Company determined that notes should be accounted for in their entirety as a liability.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company incurred approximately $4.1 million in transaction costs in connection with the issuance of the Notes. These costs were recognized as a reduction of the carrying amount of the Notes utilizing the effective interest method and are being amortized over the term of the Notes.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 18pt; text-align: left; text-indent: 18pt;">The following table sets forth interest expense information related to the Notes (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Contractual interest expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,006</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,006</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,013</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,013</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of debt issuance costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">206</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">206</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">410</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">410</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total interest cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,212</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,212</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,423</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,423</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Effective interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#8203;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_ConvertibleDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.</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;">aaoi_ConvertibleDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413558032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Accrued Liabilities<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock', window );">Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]</a></td>
<td class="text">
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -18pt; text-align: left; text-indent: 18pt;"><b>Note <em style="font: inherit;">13.</em>&#160; Accrued Liabilities&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Accrued liabilities consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued payroll</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,289</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,702</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued employee benefits</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,159</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,265</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued state and local taxes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,014</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">588</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Accrued interest</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">1,423</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">1,597</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Advanced payments</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">161</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">216</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Accrued commission expenses</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">728</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">937</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued professional fees</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">202</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">409</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued product warranty</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">145</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">140</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued other</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">581</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">368</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total accrued liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,702</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,222</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</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_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, accrued expenses, and other liabilities that are classified as current 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>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_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>30
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413598112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Other Income and Expense<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_OtherNonoperatingIncomeAndExpenseTextBlock', window );">Other Nonoperating Income and Expense [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">14.</em>&#160; Other Income and Expense</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Other income and (expense) consisted of the following for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 44%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign exchange transaction gain (loss)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">413</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(288</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">176</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(811</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Government subsidy income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">715</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">83</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">833</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">102</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other non-operating gain</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">43</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">28</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">143</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">45</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gain (loss) on disposal of assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other income (expenses) , net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,167</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(180</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,145</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(629</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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_OtherNonoperatingIncomeAndExpenseTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 components of non-operating income or non-operating expense, including, but not limited to, amounts earned from dividends, interest on securities, gain (loss) on securities sold, equity earnings of unconsolidated affiliates, gain (loss) on sales of business, interest expense and other miscellaneous income or expense items.</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))<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 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_OtherNonoperatingIncomeAndExpenseTextBlock</td>
</tr>
<tr>
<td style="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>31
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413572480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 );">Share-Based Payment Arrangement [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">15.</em>&#160; Share-Based Compensation</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Equity Plans</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>&#8203;</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company&#8217;s board of directors and stockholders approved the following equity plans:</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left; text-indent: -36pt;">&#8203;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="vertical-align: top; font-family: Times New Roman; font-size: 10pt;"><td style="width: 36pt; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 18pt; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#9679;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">the <em style="font: inherit;">2013</em> Equity Incentive Plan (<em style="font: inherit;">&#8220;2013</em> Plan&#8221;)</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"><tbody><tr style="vertical-align: top; font-family: Times New Roman; font-size: 10pt;"><td style="width: 36pt; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 18pt; font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#9679;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">the <em style="font: inherit;">2021</em> Equity Incentive Plan (<em style="font: inherit;">&#8220;2021</em> Plan&#8221;)</p> </td></tr>
</tbody></table>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company issued stock options, restricted stock awards (&#8220;RSAs&#8221;) and restricted stock units (&#8220;RSUs&#8221;) to employees, consultants and non-employee directors. Stock option awards generally vest over a <span style="-sec-ix-hidden:c100825881">four</span>-year period and have a maximum term of <span style="-sec-ix-hidden:c100825882">ten</span> years. Stock options under these plans have been granted with an exercise price equal to the fair market value on the date of the grant. Nonqualified and Incentive Stock Options, RSAs and RSUs <em style="font: inherit;"> may </em>be granted from these plans. Prior to the Company&#8217;s initial public offering in <em style="font: inherit;"> September 2013, </em>the fair market value of the Company&#8217;s stock had been historically determined by the board of directors and from time to time with the assistance of <em style="font: inherit;">third</em>-party valuation specialists.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Stock Options</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>&#8203;</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Options have been granted to the Company&#8217;s employees under the <em style="font: inherit;">two</em> incentive plans and generally become exercisable as to 25% of the shares on the <em style="font: inherit;">first</em> anniversary date following the date of grant and 12.5% on a semi-annual basis thereafter. All options expire <em style="font: inherit;">ten</em> years after the date of grant.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left;">The following is a summary of option activity:</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Share Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Remaining</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Exercise</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">on Date of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Contractual</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Exercise</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Life</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="22" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 63%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">263</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(34</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">7.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">4.73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">10.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#8203;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">0.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Exercisable, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">10.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#8203;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">0.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">10.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#8203;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">0.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>
    &#160;
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em>, there was no unrecognized stock option expense.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Performance Based Incentive Plan</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><i>&#8203;</i>The Company approved to grant restricted performance stock units (&#8220;PSUs&#8221;) to senior executives as a part of our long-term equity compensation program starting from <em style="font: inherit;"> June 2021. </em>The number of shares of common stock that will ultimately be issued to settle PSUs granted ranges from&#160;0%&#160;to&#160;200% of the number granted and is determined based on certain performance criteria over a <em style="font: inherit;">three</em>-year measurement period. The performance criteria for the PSUs are based on a combination of the performance of our stock price and the Total Shareholder Return (&#8220;TSR&#8221;) for the performance period compared with the TSR of certain peer companies or index for the performance period. PSUs granted vest&#160;100% on the <em style="font: inherit;">third</em>&#160;anniversary of their grant, assuming achievement of the applicable performance criteria. We estimated the fair value of the PSUs using a Monte Carlo simulation model on the date of grant. Compensation expense is recognized ratably over the explicit service period<span style="background-color:#ffffff;">.&#160;The Company recognized </span>PSU expenses for the <em style="font: inherit;">three</em>&#160;months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>&#160;of $0.5 million and $0.4&#160;million, respectively.&#160;<span style="background-color:#ffffff">The Company recognized </span>PSU expenses for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em>&#160;of $0.9&#160;million and $0.7 million, respectively.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">The following is a summary of PSU activity:</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average Share</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Price on Date</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average Fair</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">of Release</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">766</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,447</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">767</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.89</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,566</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Released</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%;">&#160;</td><td style="width: 1%;">&#160;</td><td style="width: 9%; text-align: right;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cancelled/Forfeited</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,134</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,134</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em>, there was $8.7 mil<span style="background-color:#ffffff">lion</span> of unrecognized compensation expense related to these PSUs. This expense is expected to be recognized over 2.5&#160;y<span style="background-color:#ffffff">ears</span>.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -28pt; text-indent: 27pt;"><i>Restricted Stock Units</i></p>
   <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">The following is a summary of RSU&#160;activity:</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Average Share</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Price on Date</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Average Fair</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">of Release</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt">2,210</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt">5.76</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt">4,175</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">2,074</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">4.60</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">9,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Released</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(580</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.37</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cancelled/Forfeited</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(110</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.93</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">654</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">3,594</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">5.05</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">21,422</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">3,594</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">5.05</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">21,422</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">As of <em style="font: inherit;"> June 30, 2023</em>, there was<span style="background-color:#ffffff;"> $15.8 million</span> of unrecognized compensation expense related to these RSUs. This expense is expected to be recognized over <span style="background-color:#ffffff;">2.5 years</span>.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>Share-Based Compensation</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><i>&#8203;</i></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">Employee share-based compensation expenses recognized for the periods indicated (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 44%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation - by expense type</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">156</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">114</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">250</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">480</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">310</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">777</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">675</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">291</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">186</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">486</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">412</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,135</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,534</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,819</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,279</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total share-based compensation expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,062</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,144</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,352</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,616</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>32
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405774064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 Tax Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b><span style="background-color:#ffffff;">Note <em style="font: inherit;">16.</em>&#160; Income Taxes </span></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><b><span style="background-color:#ffff00;">&#8203;</span></b><span style="background-color:#ffff00;">&#8203;</span></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;">For the <em style="font: inherit;">three</em> months ended&#160;<em style="font: inherit;"> June 30, 2023</em> and <em style="font: inherit;">2022,</em> the effective tax rate varied from the federal statutory rate of 21% primarily due to the change of the valuation allowance on federal, state, Taiwan, and China deferred tax assets ("DTA").&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 45pt;">The Company continually monitors and performs an assessment of the realizability of its DTAs, including an analysis of factors such as future taxable income, reversal of existing taxable temporary differences, and tax planning strategies. In assessing the need for a valuation allowance, the Company considered both positive and negative evidence related to the likelihood of realization of deferred tax assets using a &#8220;more likely than <em style="font: inherit;">not&#8221;</em> standard. In making such assessment, more weight was given to evidence that could be objectively verified, including recent cumulative losses. Based on the Company&#8217;s review of this evidence, management determined that a full valuation allowance against all of the Company&#8217;s net deferred tax assets at <em style="font: inherit;"> June 30, 2023</em> was appropriate.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 45pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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 taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</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 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 2: 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 3: 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 4: 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 5: 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 6: 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/2147482526/740-270-50-1<br><br>Reference 7: 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 8: 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 9: 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 10: 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>33
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413601344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Geographic Information<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_SegmentReportingDisclosureTextBlock', window );">Segment Reporting Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>Note <em style="font: inherit;">17.</em>&#160; Geographic Information</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The Company operates in <span style="-sec-ix-hidden:c100826107">one</span> reportable segment. The Company&#8217;s Chief Executive Officer, who is considered to be the chief operating decision maker, manages the Company&#8217;s operations as a whole and reviews financial information presented on a consolidated basis, accompanied by information about product revenue, for purposes of evaluating financial performance and allocating resources.</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#8203;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">The following tables set forth the Company&#8217;s revenue and asset information by geographic region. Revenue is classified based on the location of where the product is manufactured. Long-lived assets in the tables below comprise only property, plant, equipment and intangible assets (in thousands):</p>
   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenues:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,702</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,147</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,141</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,705</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Taiwan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34,271</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37,205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">76,657</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">64,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">China</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,642</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,947</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,847</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,851</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,615</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">52,299</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,645</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">104,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#160;</p>

    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">As of the period ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Long-lived assets:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">76,605</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80,048</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Taiwan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">47,002</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50,777</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">China</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">88,193</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93,888</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">211,800</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">224,713</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</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 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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<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 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<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 32<br> -Subparagraph (f)<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/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 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<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 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<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 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<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 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413530848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Contingencies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 Disclosure [Text Block]</a></td>
<td class="text">
   <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Note <em style="font: inherit;">18.</em>&#160; Contingencies</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#8203;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><b>Litigation</b></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#8203;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Overview</i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">From time to time, the Company <em style="font: inherit;"> may </em>be subject to legal proceedings and litigation arising in the ordinary course of business, including, but <em style="font: inherit;">not</em> limited to, inquiries, investigations, audits and other regulatory proceedings, such as described below. The Company records a loss provision when it believes it is both probable that a liability has been incurred and the amount can be reasonably estimated.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"><span style="background-color:#ffffff;">The Company believes that there are <em style="font: inherit;">no</em> claims or actions pending or threatened against it, the ultimate disposition of which would have a material adverse effect on it.</span></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 0pt; text-align: left;"><i>Other Contingencies</i></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt; text-align: left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt; text-align: left;"><span style="background-color:#ffffff;">On&#160;<em style="font: inherit;"> August 9, 2021,&#160;</em>the Company received a Taxes Notification of Audit Result (&#8220;Notice&#8221;) from the Texas Comptroller&#8217;s Office (the &#8220;Comptroller&#8221;), for fiscal years between&#160;<em style="font: inherit;">2016</em>&#160;and&#160;<em style="font: inherit;">2019,</em>&#160;informing the Company that the Comptroller believes the Company did&#160;<em style="font: inherit;">not</em>&#160;qualify for certain sales and use tax exemptions on various Research and Development purchases and accordingly the Company is liable for Sale and Use Tax in the amount of approximately $1.0&#160;million including interest charges. The Company paid $0.4&#160;million for the tax notice in <em style="font: inherit;"> May 2021, </em>but challenged the remaining tax assessments and vigorously defended its position.&#160;</span>The Comptroller&#8217;s office exhausted its redetermination period and therefore moved AOI&#8217;s case to the hearing process. In <em style="font: inherit;"> April 2023 </em>the Company&#160;received&#160;a notice from an attorney representing the Administrative Hearings Section ("AHS") to issue a Position Letter. <em style="font: inherit;">No</em> updated action was taken in the <em style="font: inherit;">second</em> quarter.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">&#160;</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_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/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 2: 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 3: 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/2147480327/954-440-50-1<br><br>Reference 4: 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 5: 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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>35
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413628800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 Events [Text Block]</a></td>
<td class="text">
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Note <em style="font: inherit;">19.</em>&#160; Subsequent Events</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><span style="background-color:#ffffff;">&#8203;</span></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">T</span>he Company repaid its revolving bank line of credit with CIT in the amount of $5.8 million on <em style="font: inherit;"> July 13, 2023.</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="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>36
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414536528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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, 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_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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;">Recent Accounting Pronouncements</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"><span style="background-color:#ffffff;">&#8203;</span><i><span style="background-color:#ffffff;">&#8203;</span></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i><span style="background-color:#ffffff;">Recent Accounting Pronouncements Yet to be Adopted</span></i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"><span style="background-color:#ffffff;">To date, there have been&#160;<em style="font: inherit;">no</em>&#160;recent accounting</span> pronouncement&#160;<em style="font: inherit;">not</em>&#160;yet effective that have significance, or potential significance, to our Consolidated Financial Statements.&#160;</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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413599344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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 );">Disaggregation of Revenue [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,713</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">45.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">66.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">41.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,231</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">786</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,615</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">52,299</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">% of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Revenue</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">CATV</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37,123</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">39.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">48,694</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">46.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Data Center</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">47,924</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">42,911</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Telecom</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,938</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,541</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">FTTH</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">124</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,603</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,270</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,645</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">104,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td></tr>
</tbody></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_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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>38
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411578880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_LeaseCostTableTextBlock', window );">Lease, Cost [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">281</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">293</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">565</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">598</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Financing lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">16</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Short Term lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total lease expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">292</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">318</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">587</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">635</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Remaining Lease Term (Years) - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.65</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.67</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Remaining Lease Term (Years) - financing leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.33</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1.33</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Discount Rate - operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.20</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Weighted Average Discount Rate - financing leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cash paid for amounts included in the measurement of lease liabilities</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">311</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">622</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from financing lease</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Financing cash flows from financing lease</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating and Finance Lease, Liability, Maturity [Table Text Block]</a></td>
<td class="text">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Operating</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Financing</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,246</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,219</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,056</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2029 and thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,261</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(681</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Present value</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,203</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 undiscounted cash flows of lessee's operating and finance lease liabilities. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liabilities recognized in statement of financial position.</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;">aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</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 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_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>39
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396413542944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Cash, Cash Equivalents and Restricted Cash (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfCashAndCashEquivalentsTableTextBlock', window );">Schedule of Cash and Cash Equivalents [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21,578</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">24,685</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,034</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,902</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total cash, cash equivalents and restricted cash shown in the statement of cash flows</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">28,612</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">35,587</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_ScheduleOfCashAndCashEquivalentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and cash equivalents.</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_ScheduleOfCashAndCashEquivalentsTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>40
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409427344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Earnings (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, 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_TableTextBlock', window );"><strong>Notes Tables</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 );">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Numerator:</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(16,944</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,456</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(33,237</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(30,518</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Denominator:</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average shares used to compute net loss per share</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,612</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,182</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,537</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,489</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,612</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">29,182</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">27,537</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss per share</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.57</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.52</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.14</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.11</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.57</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.52</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.14</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.11</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </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 );">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Employee stock options</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#8212;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted stock units</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">498</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#8212;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">473</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares for convertible senior notes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total antidilutive shares</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,085</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,060</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
       <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,587</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409098416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">25,194</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">25,732</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Work in process and sub-assemblies</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">32,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">39,563</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,840</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,384</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total inventories</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">66,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,679</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</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(6)(a))<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(6)(b))<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(6)(c))<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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-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_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408489808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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 );">Property, Plant and Equipment [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">85,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">86,372</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">247,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">251,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Furniture and fixtures</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,382</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Computer equipment and software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,713</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transportation equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">356,168</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less accumulated depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(183,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(177,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">167,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">178,649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total property, plant and equipment, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">197,879</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">210,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>43
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409326912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Intangible Assets, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets [Table Text Block]</a></td>
<td class="text">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">June 30, 2023</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Intangible</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">assets, net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(5,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">49</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,290</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(5,665</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,625</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 46%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Intangible</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">assets, net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,994</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(5,330</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(5,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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 Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2024</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">646</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2025</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2026</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2027</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2028</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">2029 and thereafter</p> </td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,625</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</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 350<br> -SubTopic 30<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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409438160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Notes Payable and Long-term Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfDebtTableTextBlock', window );">Schedule of Debt [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 102px;"><b><em style="font: inherit;">June 30, 2023</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Revolving line of credit with a U.S. bank up to $<span style="-sec-ix-hidden:c100825693"><span style="-sec-ix-hidden:c100825694">27.780</span></span> million with interest at <span style="-sec-ix-hidden:c100825695"><span style="-sec-ix-hidden:c100825696">9.663</span></span>%, maturing the earlier of either <span style="-sec-ix-hidden:c100825697"><span style="-sec-ix-hidden:c100825698">12/14/2023</span></span> or <span style="-sec-ix-hidden:c100825699"><span style="-sec-ix-hidden:c100825700">11/16/2025</span></span> if the convertible debt remains in effect</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">5,830</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">25,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Revolving line of credit with a China bank up to $<span style="-sec-ix-hidden:c100825703"><span style="-sec-ix-hidden:c100825704">19,037</span></span> with interest from <span style="-sec-ix-hidden:c100825705"><span style="-sec-ix-hidden:c100825706">4.57</span></span>% to <span style="-sec-ix-hidden:c100825707"><span style="-sec-ix-hidden:c100825708">6.12</span></span>%, maturing <span style="-sec-ix-hidden:c100825709"><span style="-sec-ix-hidden:c100825710">May 24, 2024</span></span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,757</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Credit facility with a China bank up to $<span style="-sec-ix-hidden:c100825713"><span style="-sec-ix-hidden:c100825714">26,651</span></span> with interest of <span style="-sec-ix-hidden:c100825715"><span style="-sec-ix-hidden:c100825716">4.45</span></span>% ~ <span style="-sec-ix-hidden:c100825717"><span style="-sec-ix-hidden:c100825718">6.6</span></span>%, maturing <span style="-sec-ix-hidden:c100825719"><span style="-sec-ix-hidden:c100825720">June 6, 2027</span></span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">18,683</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;">20,140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Sub-total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38,270</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less debt issuance costs, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(994</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,168</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Grand total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">37,276</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57,074</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Less current portion</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(37,276</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(57,074</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-current portion</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#8212;</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Bank Acceptance Notes Payable</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 102px;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Bank acceptance notes issued to vendors with a zero percent interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 94px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,637</td><td style="width: 11px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,337</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of Maturities of Long-Term Debt [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Within one year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">37,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Beyond one year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</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_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturity and sinking fund requirement for long-term debt.</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 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>45
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414754752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Convertible Senior Notes (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ConvertibleDebtTableTextBlock', window );">Convertible Debt [Table Text Block]</a></td>
<td class="text">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Principal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80,500</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80,500</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Unamortized debt issuance costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(584</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(994</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Net carrying amount</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,916</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">79,506</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_InterestIncomeAndInterestExpenseDisclosureTableTextBlock', window );">Interest Income and Interest Expense Disclosure [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Contractual interest expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,006</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,006</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,013</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,013</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of debt issuance costs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">206</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">206</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">410</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">410</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total interest cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,212</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,212</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,423</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,423</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Effective interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></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_ConvertibleDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount.</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_ConvertibleDebtTableTextBlock</td>
</tr>
<tr>
<td style="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_InterestIncomeAndInterestExpenseDisclosureTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest income and expense, including, but not limited to, interest income and expense from investments, loans, and securities.</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_InterestIncomeAndInterestExpenseDisclosureTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405769888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Accrued Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Liabilities [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30, 2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31, 2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued payroll</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,289</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,702</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued employee benefits</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,159</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,265</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued state and local taxes</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,014</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">588</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Accrued interest</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">1,423</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">1,597</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Advanced payments</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">161</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">216</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Accrued commission expenses</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">728</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">937</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued professional fees</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">202</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">409</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued product warranty</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">145</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">140</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Accrued other</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">581</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">368</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Total accrued liabilities</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,702</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,222</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued 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;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>47
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411669648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Other Income and Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock', window );">Schedule of Other Nonoperating Income (Expense) [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 44%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign exchange transaction gain (loss)</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">413</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(288</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">176</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(811</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Government subsidy income</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">715</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">83</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">833</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">102</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other non-operating gain</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">43</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">28</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">143</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">45</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gain (loss) on disposal of assets</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other income (expenses) , net</p> </td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,167</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(180</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,145</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(629</td>
       <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">)</td>
      </tr>

     </tbody>
    </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_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-operating income or non-operating expense that may include amounts earned from dividends, interest on securities, gains (losses) on securities sold, equity earnings of unconsolidated affiliates, net gain (loss) on sales of business, interest expense and other miscellaneous income or expense 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;">us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>48
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409159328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Share Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Remaining</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Exercise</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">on Date of</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Contractual</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 6%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Exercise</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Life</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td colspan="22" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 63%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 26%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">263</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(34</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">7.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">4.73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">10.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#8203;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">0.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Exercisable, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">10.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#8203;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">0.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">10.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;">&#8203;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">0.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></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_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock', window );">Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average Share</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Price on Date</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Average Fair</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">of Release</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">766</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.75</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,447</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">767</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.89</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,566</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Released</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%;">&#160;</td><td style="width: 1%;">&#160;</td><td style="width: 9%; text-align: right;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cancelled/Forfeited</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#8212;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,134</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,134</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></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 );">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;"> </em><p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Average Share</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Weighted</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Aggregate</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Number of</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Price on Date</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Average Fair</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Intrinsic</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">shares</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">of Release</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Value</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="14" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b>(in thousands, except price data)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Outstanding at January 1, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt">2,210</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt">5.76</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt">4,175</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">2,074</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">4.60</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">9,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Released</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(580</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6.37</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Cancelled/Forfeited</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(110</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.93</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">654</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">3,594</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">5.05</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">21,422</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;">Vested and expected to vest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">3,594</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"><em style="font: inherit;">&#160;</em></td><td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">5.05</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">21,422</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;">&#160;</td></tr>
</tbody></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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 44%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation - by expense type</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">156</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">114</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">250</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Research and development</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">480</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">310</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">777</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">675</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales and marketing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">291</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">186</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">486</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">412</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,135</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,534</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,819</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,279</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total share-based compensation expense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,062</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,144</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,352</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,616</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<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_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number and weighted-average grant date fair value for nonvested performance 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> -Section 50<br> -Subparagraph (c)<br> -Paragraph 2<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_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>49
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409926608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Geographic Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_TableTextBlock', window );"><strong>Notes Tables</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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock', window );">Revenue from External Customers by Geographic Areas [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Six months ended June 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenues:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#8203;</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,702</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">1,147</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">9,141</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3,705</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Taiwan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">34,271</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">37,205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">76,657</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">64,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">China</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,642</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,947</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,847</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">35,851</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,615</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">52,299</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,645</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">104,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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 );">Long-Lived Assets by Geographic Areas [Table Text Block]</a></td>
<td class="text">
    <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">As of the period ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">June 30,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2023</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">Long-lived assets:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"><b>&#8203;</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">76,605</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80,048</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Taiwan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">47,002</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">50,777</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">China</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">88,193</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93,888</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;">&#8203;</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">211,800</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">224,713</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -SubTopic 10<br> -Topic 280<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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.</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 41<br> -Subparagraph a<br> -SubTopic 10<br> -Topic 280<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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="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>50
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414732416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 1 - Description of Business (Details Textual) - Manufacturing Facilities in PRC [Member] - Yuhan Optoelectronic Technology Co., Ltd [Member]<br> $ in Millions</strong></div></th>
<th class="th">
<div>Sep. 15, 2022 </div>
<div>USD ($)</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_DisposalGroupIncludingDiscontinuedOperationConsideration', window );">Disposal Group, Including Discontinued Operation, Consideration</a></td>
<td class="nump">$ 150<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_aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged', window );">Business Divestiture, Percentage of Equity Interests Exchanged</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=aaoi_ManufacturingFacilitiesInPrcMember', window );">Minimum [Member]</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_aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness', window );">Percentage of Estimated Proceeds From Divestiture of Business</a></td>
<td class="nump">4.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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=aaoi_ManufacturingFacilitiesInPrcMember', window );">Maximum [Member]</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_aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness', window );">Percentage of Estimated Proceeds From Divestiture of Business</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_aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity interests exchanged in the other party in business divestiture.</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;">aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of estimated proceeds from divestiture of business as a percentage.</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;">aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_DisposalGroupIncludingDiscontinuedOperationConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.</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_DisposalGroupIncludingDiscontinuedOperationConsideration</td>
</tr>
<tr>
<td style="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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=aaoi_ManufacturingFacilitiesInPrcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=aaoi_ManufacturingFacilitiesInPrcMember</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_CounterpartyNameAxis=aaoi_YuhanOptoelectronicTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CounterpartyNameAxis=aaoi_YuhanOptoelectronicTechnologyCoLtdMember</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>
<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>51
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408761600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Revenue Recognition (Details Textual) - 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>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</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_ContractWithCustomerLiability', window );">Contract with Customer, Liability</a></td>
<td class="nump">$ 11,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,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_ContractWithCustomerLiabilityRevenueRecognized', window );">Contract with Customer, Liability, Revenue Recognized</a></td>
<td class="nump">$ 900<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 0<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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</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 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-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_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="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>52
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408990800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Revenue Recognition - Revenue by Major Product Category (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 41,615<span></span>
</td>
<td class="nump">$ 52,299<span></span>
</td>
<td class="nump">$ 94,645<span></span>
</td>
<td class="nump">$ 104,540<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_aaoi_PercentageOfRevenue', window );">Percent of Revenue</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.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_srt_ProductOrServiceAxis=aaoi_CATVMember', window );">CATV [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 9,343<span></span>
</td>
<td class="nump">$ 23,713<span></span>
</td>
<td class="nump">$ 37,123<span></span>
</td>
<td class="nump">$ 48,694<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_aaoi_PercentageOfRevenue', window );">Percent of Revenue</a></td>
<td class="nump">22.50%<span></span>
</td>
<td class="nump">45.30%<span></span>
</td>
<td class="nump">39.20%<span></span>
</td>
<td class="nump">46.60%<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_ProductOrServiceAxis=aaoi_DataCenterMember', window );">Data Center [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 27,571<span></span>
</td>
<td class="nump">$ 21,497<span></span>
</td>
<td class="nump">$ 47,924<span></span>
</td>
<td class="nump">$ 42,911<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_aaoi_PercentageOfRevenue', window );">Percent of Revenue</a></td>
<td class="nump">66.20%<span></span>
</td>
<td class="nump">41.10%<span></span>
</td>
<td class="nump">50.60%<span></span>
</td>
<td class="nump">41.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_srt_ProductOrServiceAxis=aaoi_TelecomMember', window );">Telecom [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 4,231<span></span>
</td>
<td class="nump">$ 6,276<span></span>
</td>
<td class="nump">$ 7,938<span></span>
</td>
<td class="nump">$ 11,541<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_aaoi_PercentageOfRevenue', window );">Percent of Revenue</a></td>
<td class="nump">10.20%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">8.40%<span></span>
</td>
<td class="nump">11.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_srt_ProductOrServiceAxis=aaoi_FTTHMember', window );">FTTH [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 55<span></span>
</td>
<td class="nump">$ 27<span></span>
</td>
<td class="nump">$ 57<span></span>
</td>
<td class="nump">$ 124<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_aaoi_PercentageOfRevenue', window );">Percent of Revenue</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.10%<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_ProductOrServiceAxis=us-gaap_ProductAndServiceOtherMember', window );">Product and Service, Other [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 415<span></span>
</td>
<td class="nump">$ 786<span></span>
</td>
<td class="nump">$ 1,603<span></span>
</td>
<td class="nump">$ 1,270<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_aaoi_PercentageOfRevenue', window );">Percent of Revenue</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">1.70%<span></span>
</td>
<td class="nump">1.30%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_PercentageOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of revenue.</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;">aaoi_PercentageOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_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 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 2: 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 3: 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 4: 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 5: 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 6: 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 (b)<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/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 8: 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 9: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: 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_ProductOrServiceAxis=aaoi_CATVMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductOrServiceAxis=aaoi_CATVMember</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_ProductOrServiceAxis=aaoi_DataCenterMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductOrServiceAxis=aaoi_DataCenterMember</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_ProductOrServiceAxis=aaoi_TelecomMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductOrServiceAxis=aaoi_TelecomMember</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_ProductOrServiceAxis=aaoi_FTTHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductOrServiceAxis=aaoi_FTTHMember</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_ProductOrServiceAxis=us-gaap_ProductAndServiceOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductOrServiceAxis=us-gaap_ProductAndServiceOtherMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408541568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Leases (Details Textual) - 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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_LeaseCost', window );">Lease, Cost</a></td>
<td class="nump">$ 292<span></span>
</td>
<td class="nump">$ 318<span></span>
</td>
<td class="nump">$ 587<span></span>
</td>
<td class="nump">$ 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_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, General and Administrative Expenses [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_LeaseCost', window );">Lease, Cost</a></td>
<td class="nump">$ 300<span></span>
</td>
<td class="nump">$ 300<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 600<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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease cost recognized by lessee for lease contract.</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> -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_LeaseCost</td>
</tr>
<tr>
<td style="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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SellingGeneralAndAdministrativeExpensesMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405821904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Leases - Components of Lease Expense (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 281<span></span>
</td>
<td class="nump">$ 293<span></span>
</td>
<td class="nump">$ 565<span></span>
</td>
<td class="nump">$ 598<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_FinanceLeaseInterestExpense', window );">Financing lease expense</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">16<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_ShortTermLeaseCost', window );">Short Term lease expense</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">17<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">21<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_LeaseCost', window );">Total lease expense</a></td>
<td class="nump">$ 292<span></span>
</td>
<td class="nump">$ 318<span></span>
</td>
<td class="nump">$ 587<span></span>
</td>
<td class="nump">$ 635<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted Average Remaining Lease Term (Years) - operating leases (Year)</a></td>
<td class="text">5 years 7 months 24 days<span></span>
</td>
<td class="text">6 years 8 months 1 day<span></span>
</td>
<td class="text">5 years 7 months 24 days<span></span>
</td>
<td class="text">6 years 8 months 1 day<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_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted Average Remaining Lease Term (Years) - financing leases (Year)</a></td>
<td class="text">3 months 29 days<span></span>
</td>
<td class="text">1 year 3 months 29 days<span></span>
</td>
<td class="text">3 months 29 days<span></span>
</td>
<td class="text">1 year 3 months 29 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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted Average Discount Rate - operating leases</a></td>
<td class="nump">3.20%<span></span>
</td>
<td class="nump">3.22%<span></span>
</td>
<td class="nump">3.20%<span></span>
</td>
<td class="nump">3.22%<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_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Weighted Average Discount Rate - financing leases</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.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_OperatingLeasePayments', window );">Operating cash flows from operating leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 311<span></span>
</td>
<td class="nump">$ 622<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_FinanceLeaseInterestPaymentOnLiability', window );">Operating cash flows from financing lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">2<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_FinanceLeasePrincipalPayments', window );">Financing cash flows from financing lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">$ 9<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_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense on finance 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 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: 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 (a)<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_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="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_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest paid on finance 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 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for principal payment on finance 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 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="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_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease cost recognized by lessee for lease contract.</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> -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_LeaseCost</td>
</tr>
<tr>
<td style="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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating lease expense. Excludes sublease income.</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 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-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_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</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 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<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)(1)<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_OperatingLeasePayments</td>
</tr>
<tr>
<td style="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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405850544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Leases - Maturities of Lease Liabilities (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</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_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths', window );">2024, operating</a></td>
<td class="nump">$ 1,024<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_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths', window );">2024, finance</a></td>
<td class="nump">54<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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo', window );">2025, operating</a></td>
<td class="nump">1,246<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_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo', window );">2025, finance</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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree', window );">2026, operating</a></td>
<td class="nump">1,219<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_FinanceLeaseLiabilityPaymentsDueInRollingYearThree', window );">2026, finance</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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour', window );">2027, operating</a></td>
<td class="nump">1,056<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_FinanceLeaseLiabilityPaymentsDueInRollingYearFour', window );">2027, finance</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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive', window );">2028, operating</a></td>
<td class="nump">1,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_FinanceLeaseLiabilityPaymentsDueInRollingYearFive', window );">2028, finance</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_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive', window );">2029 and thereafter, operating</a></td>
<td class="nump">1,261<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_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive', window );">2029 and thereafter, finance</a></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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total operating lease payments</a></td>
<td class="nump">6,884<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_FinanceLeaseLiabilityPaymentsDue', window );">Total financing lease payments, finance leases</a></td>
<td class="nump">54<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest, operating leases, operating</a></td>
<td class="num">(681)<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_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest, financing leases</a></td>
<td class="num">(1)<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_OperatingLeaseLiability', window );">Present value, operating leases</a></td>
<td class="nump">6,203<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_FinanceLeaseLiability', window );">Present value, financing leases</a></td>
<td class="nump">$ 53<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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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><br>Reference 2: 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_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance 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_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease due in next rolling 12 months following current statement of financial position date. For interim and annual periods when interim period is reported on 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/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_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance lease, due after fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/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_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDueInRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/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_FinanceLeaseLiabilityPaymentsDueInRollingYearFive</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDueInRollingYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/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_FinanceLeaseLiabilityPaymentsDueInRollingYearFour</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDueInRollingYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/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_FinanceLeaseLiabilityPaymentsDueInRollingYearThree</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for finance lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/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_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo</td>
</tr>
<tr>
<td style="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_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance 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_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="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_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_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for operating lease, due after fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/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_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for operating lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position 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/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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for operating lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position 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/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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for operating lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position 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/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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for operating lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position 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/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_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for operating lease, due in next rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position 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/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_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409122144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Cash, Cash Equivalents and Restricted Cash (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted Cash and Cash Equivalents, Current</a></td>
<td class="nump">$ 7,034<span></span>
</td>
<td class="nump">$ 10,902<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_CN', window );">CHINA</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_CertificatesOfDepositAtCarryingValue', window );">Certificates of Deposit, at Carrying Value</a></td>
<td class="nump">1,900<span></span>
</td>
<td class="nump">1,100<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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=us-gaap_BankersAcceptanceMember', window );">Bankers Acceptance [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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted Cash and Cash Equivalents, Current</a></td>
<td class="nump">3,900<span></span>
</td>
<td class="nump">8,700<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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=aaoi_GuaranteeDepositsForCustomsDutiesMember', window );">Guarantee Deposits for Customs Duties [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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted Cash and Cash Equivalents, Current</a></td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 1,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_CertificatesOfDepositAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</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(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_CertificatesOfDepositAtCarryingValue</td>
</tr>
<tr>
<td style="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_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, classified as current. 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 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 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_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="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_srt_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=us-gaap_BankersAcceptanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=us-gaap_BankersAcceptanceMember</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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=aaoi_GuaranteeDepositsForCustomsDutiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=aaoi_GuaranteeDepositsForCustomsDutiesMember</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>57
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408067168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 21,578<span></span>
</td>
<td class="nump">$ 24,685<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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash</a></td>
<td class="nump">7,034<span></span>
</td>
<td class="nump">10,902<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and restricted cash shown in the statement of cash flows</a></td>
<td class="nump">$ 28,612<span></span>
</td>
<td class="nump">$ 35,587<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_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="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_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, classified as current. 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 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 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_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="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>58
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408462208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details) - USD ($)<br> $ / shares in Units, $ 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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (16,944)<span></span>
</td>
<td class="num">$ (14,456)<span></span>
</td>
<td class="num">$ (33,237)<span></span>
</td>
<td class="num">$ (30,518)<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 (in shares)</a></td>
<td class="nump">29,488,561<span></span>
</td>
<td class="nump">27,612,315<span></span>
</td>
<td class="nump">29,181,913<span></span>
</td>
<td class="nump">27,537,048<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 (in shares)</a></td>
<td class="nump">29,488,561<span></span>
</td>
<td class="nump">27,612,315<span></span>
</td>
<td class="nump">29,181,913<span></span>
</td>
<td class="nump">27,537,048<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 (in dollars per share)</a></td>
<td class="num">$ (0.57)<span></span>
</td>
<td class="num">$ (0.52)<span></span>
</td>
<td class="num">$ (1.14)<span></span>
</td>
<td class="num">$ (1.11)<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 (in dollars per share)</a></td>
<td class="num">$ (0.57)<span></span>
</td>
<td class="num">$ (0.52)<span></span>
</td>
<td class="num">$ (1.14)<span></span>
</td>
<td class="num">$ (1.11)<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_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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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 14: 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/2147483589/942-220-S99-1<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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/2147483589/942-220-S99-1<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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: 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 16: 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 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 2: 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 3: 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 4: 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 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 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 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 (f)<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 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 9: 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 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 (a)<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 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: 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 13: 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/2147480167/946-830-55-10<br><br>Reference 14: 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/2147483581/946-220-45-7<br><br>Reference 15: 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/2147483586/944-220-S99-1<br><br>Reference 16: 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 17: 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/2147483575/946-220-S99-1<br><br>Reference 18: 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/2147483575/946-220-S99-3<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 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 30: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: 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 32: 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 33: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: 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 35: 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 36: 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 37: 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 38: 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 39: 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/2147483589/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_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>59
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409151424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total antidilutive share (in shares)</a></td>
<td class="nump">5,085<span></span>
</td>
<td class="nump">4,587<span></span>
</td>
<td class="nump">5,060<span></span>
</td>
<td class="nump">4,587<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=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total antidilutive share (in 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="nump">0<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=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total antidilutive share (in shares)</a></td>
<td class="nump">498<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">473<span></span>
</td>
<td class="nump">0<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=us-gaap_ConvertibleDebtSecuritiesMember', window );">Convertible Debt Securities [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total antidilutive share (in shares)</a></td>
<td class="nump">4,587<span></span>
</td>
<td class="nump">4,587<span></span>
</td>
<td class="nump">4,587<span></span>
</td>
<td class="nump">4,587<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertibleDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ConvertibleDebtSecuritiesMember</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>60
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409933152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Inventories (Details Textual) - 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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_InventoryLIFOReservePeriodCharge', window );">Inventory, LIFO Reserve, Period Charge</a></td>
<td class="nump">$ 2,400<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">$ 5,028<span></span>
</td>
<td class="nump">$ 2,403<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_InventoryWriteDown', window );">Inventory Write-down</a></td>
<td class="nump">$ 3,100<span></span>
</td>
<td class="nump">$ 1,800<span></span>
</td>
<td class="nump">$ 6,900<span></span>
</td>
<td class="nump">$ 2,700<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_InventoryLIFOReservePeriodCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in the inventory reserve representing the cumulative difference in cost between the first in, first out and the last in, first out inventory valuation methods, which change has been reflected in the statement of income 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> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryLIFOReservePeriodCharge</td>
</tr>
<tr>
<td style="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_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</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> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-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_InventoryWriteDown</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409146832">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Inventories - Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 25,194<span></span>
</td>
<td class="nump">$ 25,732<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_InventoryWorkInProcessNetOfReserves', window );">Work in process and sub-assemblies</a></td>
<td class="nump">32,287<span></span>
</td>
<td class="nump">39,563<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_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">8,840<span></span>
</td>
<td class="nump">14,384<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 inventories</a></td>
<td class="nump">$ 66,321<span></span>
</td>
<td class="nump">$ 79,679<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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</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 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production 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/exampleRef<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)(4))<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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="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>62
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408558464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Property, Plant and Equipment (Details Textual) - 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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 5,000<span></span>
</td>
<td class="nump">$ 5,700<span></span>
</td>
<td class="nump">$ 10,200<span></span>
</td>
<td class="nump">$ 11,700<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_InterestPaidCapitalized', window );">Interest Paid, Capitalized, Investing Activities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 200<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_AssetImpairmentCharges', window );">Asset Impairment Charges</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>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</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 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-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_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="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_InterestPaidCapitalized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid for interest capitalized, classified as investing 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 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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_InterestPaidCapitalized</td>
</tr>
<tr>
<td style="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>63
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408812960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 350,984<span></span>
</td>
<td class="nump">$ 356,168<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="num">(183,479)<span></span>
</td>
<td class="num">(177,519)<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_aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand', window );">Property, plant and equipment, net before construction in progress and land</a></td>
<td class="nump">167,505<span></span>
</td>
<td class="nump">178,649<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">197,879<span></span>
</td>
<td class="nump">210,184<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_LandImprovementsMember', window );">Land Improvements [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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">806<span></span>
</td>
<td class="nump">806<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_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">85,342<span></span>
</td>
<td class="nump">86,372<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 );">Machinery and Equipment [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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">247,242<span></span>
</td>
<td class="nump">251,216<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 and Fixtures [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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">5,346<span></span>
</td>
<td class="nump">5,382<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=aaoi_ComputerEquipmentAndSoftwareMember', window );">Computer Equipment and Software [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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">11,587<span></span>
</td>
<td class="nump">11,713<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 [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_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">661<span></span>
</td>
<td class="nump">679<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 Progress [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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">29,273<span></span>
</td>
<td class="nump">30,434<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_LandMember', window );">Land [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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">$ 1,101<span></span>
</td>
<td class="nump">$ 1,101<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding construction in progress and land.</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;">aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_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/2147479440/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/2147479440/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_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/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)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: 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/2147480842/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_LandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandImprovementsMember</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_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BuildingAndBuildingImprovementsMember</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_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_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=aaoi_ComputerEquipmentAndSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=aaoi_ComputerEquipmentAndSoftwareMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409308368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Intangible Assets, Net (Details Textual) - USD ($)<br> $ in Millions</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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.3<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_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Finite-Lived Intangible Assets, Remaining Amortization Period (Year)</a></td>
<td class="text">5 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years 7 months 6 days<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining amortization period 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>Reference 1: 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_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405832880">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross amount</a></td>
<td class="nump">$ 9,290<span></span>
</td>
<td class="nump">$ 9,050<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, accumulated amortization</a></td>
<td class="num">(5,665)<span></span>
</td>
<td class="num">(5,351)<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_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">3,625<span></span>
</td>
<td class="nump">3,699<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_PatentsMember', window );">Patents [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_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross amount</a></td>
<td class="nump">9,216<span></span>
</td>
<td class="nump">8,994<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, accumulated amortization</a></td>
<td class="num">(5,640)<span></span>
</td>
<td class="num">(5,330)<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_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">3,576<span></span>
</td>
<td class="nump">3,664<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_TrademarksMember', window );">Trademarks [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_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross amount</a></td>
<td class="nump">74<span></span>
</td>
<td class="nump">56<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, accumulated amortization</a></td>
<td class="num">(25)<span></span>
</td>
<td class="num">(21)<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_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">$ 49<span></span>
</td>
<td class="nump">$ 35<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_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/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><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)(1)<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_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/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/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/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 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PatentsMember</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_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TrademarksMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408825728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 9 - Intangible Assets, Net - Future Amortization Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths', window );">2024</a></td>
<td class="nump">$ 646<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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo', window );">2025</a></td>
<td class="nump">649<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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree', window );">2026</a></td>
<td class="nump">649<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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour', window );">2027</a></td>
<td class="nump">649<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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive', window );">2028</a></td>
<td class="nump">649<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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive', window );">2029 and thereafter</a></td>
<td class="nump">383<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 );">Finite-Lived Intangible Assets, Net</a></td>
<td class="nump">$ 3,625<span></span>
</td>
<td class="nump">$ 3,699<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_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the fifth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the fourth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the third rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the second rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo</td>
</tr>
<tr>
<td style="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/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 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405760992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Fair Value of Financial Instruments (Details Textual) - Senior Notes [Member] - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_ConvertibleDebtFairValueDisclosures', window );">Convertible Debt, Fair Value Disclosures</a></td>
<td class="nump">$ 65.9<span></span>
</td>
<td class="nump">$ 58.3<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_ConvertibleDebt', window );">Convertible Debt</a></td>
<td class="nump">$ 79.9<span></span>
</td>
<td class="nump">$ 79.5<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_ConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying amount of debt identified as being convertible into another form of financial instrument (typically the entity's common stock) as of the balance sheet date, which originally required full repayment more than twelve months after issuance or greater than the normal operating cycle of the company.</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://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)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: 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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/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_ConvertibleDebt</td>
</tr>
<tr>
<td style="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_ConvertibleDebtFairValueDisclosures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's 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;">us-gaap_ConvertibleDebtFairValueDisclosures</td>
</tr>
<tr>
<td style="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_LongtermDebtTypeAxis=us-gaap_SeniorNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=us-gaap_SeniorNotesMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396404878544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Notes Payable and Long-term Debt (Details Textual)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Nov. 16, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 07, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 24, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 07, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>May 24, 2019 </div>
<div>CNY (&#165;)</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_DebtInstrumentUnusedBorrowingCapacityAmount', window );">Debt Instrument, Unused Borrowing Capacity, Amount</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">$ 32,500<span></span>
</td>
<td class="nump">$ 13,300<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_CashCollateralForBorrowedSecurities', window );">Cash Collateral for Borrowed Securities</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">6,800<span></span>
</td>
<td class="nump">9,900<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | CIT Northbridge Credit, LLC [Member] | Loan Security and Guarantee Agreement [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>
<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_DebtInstrumentTerm', window );">Debt Instrument, Term (Year)</a></td>
<td class="text">3 years<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>
<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="nump">$ 27,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,780<span></span>
</td>
<td class="nump">27,780<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_LineOfCredit', window );">Long-Term Line of Credit</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">5,800<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | CIT Northbridge Credit, LLC [Member] | Loan Security and Guarantee Agreement [Member] | Secured Overnight Financing Rate (SOFR) [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>
<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_aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage', window );">Debt Instrument, Basis Spread on Variable Rate, Monthly Usage Less Than 50 Percentage</a></td>
<td class="nump">3.75%<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>
<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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="nump">4.75%<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>
<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | SPD Bank [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>
<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</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">19,037<span></span>
</td>
<td class="nump">19,037<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | SPD Bank [Member] | The SPD Credit Line [Member] | Global Technology, Inc. [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>
<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_DebtInstrumentTerm', window );">Debt Instrument, Term (Year)</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>
<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,400<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="nump">&#165; 180,000,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_LineOfCredit', window );">Long-Term Line of Credit</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">13,800<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_BankAcceptancesExecuted', window );">Bank Acceptances Executed</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">8,600<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | China Zheshang Bank Co., Ltd [Member] | The &#165;200M Credit Facility [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>
<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</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">26,651<span></span>
</td>
<td class="nump">$ 26,651<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | China Zheshang Bank Co., Ltd [Member] | The &#165;200M Credit Facility [Member] | Global Technology, Inc. [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>
<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_DebtInstrumentTerm', window );">Debt Instrument, Term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,900<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="nump">&#165; 200,000,000<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_LineOfCredit', window );">Long-Term Line of Credit</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">18,700<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_BankAcceptancesExecuted', window );">Bank Acceptances Executed</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">$ 5,200<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 monthly usage less than 50% of credit facility for basis spread on variable rate for debt 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;">aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_BankAcceptancesExecuted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the financial institution's obligation to pay the holder of the customer's draft which the financial institution has guaranteed (i.e., Banker's Acceptance).</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 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.14)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/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_BankAcceptancesExecuted</td>
</tr>
<tr>
<td style="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_CashCollateralForBorrowedSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash collateral held for borrowed securities, for which the cash is restricted as to withdrawal or usage.</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/2147479440/944-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/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_CashCollateralForBorrowedSecurities</td>
</tr>
<tr>
<td style="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_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 points added to the reference rate to compute the variable rate on the debt 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;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="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_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</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_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="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_DebtInstrumentUnusedBorrowingCapacityAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unused borrowing capacity under the long-term financing arrangement that is available to the entity 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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(b))<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_DebtInstrumentUnusedBorrowingCapacityAmount</td>
</tr>
<tr>
<td style="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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</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://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)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: 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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/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_LineOfCredit</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<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_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember</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_DebtInstrumentAxis=aaoi_LoanSecurityAndGuaranteeAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_LoanSecurityAndGuaranteeAgreementMember</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_VariableRateAxis=aaoi_SecuredOvernightFinancingRateSOFRMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VariableRateAxis=aaoi_SecuredOvernightFinancingRateSOFRMember</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_LineOfCreditFacilityAxis=aaoi_SPDBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_SPDBankMember</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_DebtInstrumentAxis=aaoi_TheSPDCreditLineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_TheSPDCreditLineMember</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_dei_LegalEntityAxis=aaoi_GlobalTechnologyIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=aaoi_GlobalTechnologyIncMember</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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember</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_DebtInstrumentAxis=aaoi_The200MCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_The200MCreditFacilityMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396405599760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">$ 38,270<span></span>
</td>
<td class="nump">$ 58,242<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_DeferredFinanceCostsNet', window );">Less debt issuance costs, net</a></td>
<td class="num">(994)<span></span>
</td>
<td class="num">(1,168)<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_LongTermDebt', window );">Grand total</a></td>
<td class="nump">37,276<span></span>
</td>
<td class="nump">57,074<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_LongTermDebtCurrent', window );">Less current portion</a></td>
<td class="num">(37,276)<span></span>
</td>
<td class="num">(57,074)<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_LongTermDebtNoncurrent', window );">Non-current portion</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_aaoi_BankAcceptancesExecutedAndOutstandingCurrent', window );">Bank acceptance notes issued to vendors with a zero percent interest rate</a></td>
<td class="nump">8,637<span></span>
</td>
<td class="nump">12,337<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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember', window );">CIT Northbridge Credit, LLC [Member] | Revolving Credit Facility [Member] | Loan Security and Guarantee Agreement [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_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">5,830<span></span>
</td>
<td class="nump">25,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_LineOfCreditFacilityAxis=aaoi_SPDBankMember', window );">SPD Bank [Member] | Revolving Credit Facility [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_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">13,757<span></span>
</td>
<td class="nump">13,102<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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember', window );">China Zheshang Bank Co., Ltd [Member] | Revolving Credit Facility [Member] | The &#165;200M Credit Facility [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_DebtInstrumentCarryingAmount', window );">Long-term debt</a></td>
<td class="nump">$ 18,683<span></span>
</td>
<td class="nump">$ 20,140<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_BankAcceptancesExecutedAndOutstandingCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 drafts and bills of exchange that have been accepted by the reporting bank, or by others for its own account, as its liability to holders of the drafts, which is expected to be paid within one year of the date of the statement of financial position.</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;">aaoi_BankAcceptancesExecutedAndOutstandingCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="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_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</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 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</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://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: 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)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_LongTermDebt</td>
</tr>
<tr>
<td style="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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</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(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_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</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(22))<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_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember</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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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_DebtInstrumentAxis=aaoi_LoanSecurityAndGuaranteeAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_LoanSecurityAndGuaranteeAgreementMember</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_LineOfCreditFacilityAxis=aaoi_SPDBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_SPDBankMember</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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember</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_DebtInstrumentAxis=aaoi_The200MCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_The200MCreditFacilityMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396404887824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals) - Revolving Credit Facility [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Nov. 16, 2022</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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember', window );">CIT Northbridge Credit, LLC [Member] | Loan Security and Guarantee Agreement [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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Long-term debt, maximum</a></td>
<td class="nump">$ 27,780<span></span>
</td>
<td class="nump">$ 27,780<span></span>
</td>
<td class="nump">$ 27,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_DebtInstrumentInterestRateStatedPercentage', window );">Long-term debt, interest</a></td>
<td class="nump">9.663%<span></span>
</td>
<td class="nump">9.663%<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_DebtInstrumentMaturityDateRangeStart1', window );">Long-term debt, start maturity date</a></td>
<td class="text">Dec. 14,  2023<span></span>
</td>
<td class="text">Dec. 14,  2023<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_DebtInstrumentMaturityDateRangeEnd1', window );">Long-term debt, end maturity date</a></td>
<td class="text">Nov. 16,  2025<span></span>
</td>
<td class="text">Nov. 16,  2025<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_LineOfCreditFacilityAxis=aaoi_SPDBankMember', window );">SPD Bank [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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Long-term debt, maximum</a></td>
<td class="nump">$ 19,037<span></span>
</td>
<td class="nump">$ 19,037<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_DebtInstrumentMaturityDate', window );">Long-term debt, maturity date</a></td>
<td class="text">May 24,  2024<span></span>
</td>
<td class="text">May 24,  2024<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_LineOfCreditFacilityAxis=aaoi_SPDBankMember', window );">SPD Bank [Member] | 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_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Long-term debt, interest</a></td>
<td class="nump">4.57%<span></span>
</td>
<td class="nump">4.57%<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_LineOfCreditFacilityAxis=aaoi_SPDBankMember', window );">SPD Bank [Member] | 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Long-term debt, interest</a></td>
<td class="nump">6.12%<span></span>
</td>
<td class="nump">6.12%<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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember', window );">China Zheshang Bank Co., Ltd [Member] | The &#165;200M Credit Facility [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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Long-term debt, maximum</a></td>
<td class="nump">$ 26,651<span></span>
</td>
<td class="nump">$ 26,651<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_DebtInstrumentInterestRateStatedPercentage', window );">Long-term debt, interest</a></td>
<td class="nump">6.60%<span></span>
</td>
<td class="nump">6.60%<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_DebtInstrumentMaturityDate', window );">Long-term debt, maturity date</a></td>
<td class="text">Jun.  06,  2027<span></span>
</td>
<td class="text">Jun.  06,  2027<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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember', window );">China Zheshang Bank Co., Ltd [Member] | The &#165;200M Credit Facility [Member] | 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_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Long-term debt, interest</a></td>
<td class="nump">4.45%<span></span>
</td>
<td class="nump">4.45%<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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(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_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<br> -SubTopic 10<br> -Topic 210<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_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="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_DebtInstrumentMaturityDateRangeEnd1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Latest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format.</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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<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_DebtInstrumentMaturityDateRangeEnd1</td>
</tr>
<tr>
<td style="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_DebtInstrumentMaturityDateRangeStart1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Earliest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format.</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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<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_DebtInstrumentMaturityDateRangeStart1</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<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_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember</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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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_DebtInstrumentAxis=aaoi_LoanSecurityAndGuaranteeAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_LoanSecurityAndGuaranteeAgreementMember</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_LineOfCreditFacilityAxis=aaoi_SPDBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_SPDBankMember</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>
<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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_ChinaZheshangBankCoLtdMember</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_DebtInstrumentAxis=aaoi_The200MCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_The200MCreditFacilityMember</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>71
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411550576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths', window );">Within one year</a></td>
<td class="nump">$ 37,276<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_aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths', window );">Beyond one year</a></td>
<td class="nump">0<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_LongTermDebt', window );">Total outstanding</a></td>
<td class="nump">$ 37,276<span></span>
</td>
<td class="nump">$ 57,074<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing after the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</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;">aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</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://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: 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)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_LongTermDebt</td>
</tr>
<tr>
<td style="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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest 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/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="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>72
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396410287440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Convertible Senior Notes (Details Textual) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 05, 2019</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_LineOfCreditFacilityAxis=aaoi_TruistBankMember', window );">Truist Bank [Member] | CapEx Loan and Term Loan [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_us-gaap_RepaymentsOfLongTermDebt', window );">Repayments of Long-term Debt, Total</a></td>
<td class="nump">$ 37,800,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_us-gaap_LongtermDebtTypeAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member', window );">The 5% Convertible Senior Notes Due 2024 [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_us-gaap_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</a></td>
<td class="nump">$ 80,500,000<span></span>
</td>
<td class="nump">$ 80,500,000<span></span>
</td>
<td class="nump">$ 80,500,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_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">5.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_ProceedsFromConvertibleDebt', window );">Proceeds from Convertible Debt</a></td>
<td class="nump">$ 76,400,000<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_DebtConversionConvertedInstrumentSharesIssued1', window );">Debt Conversion, Converted Instrument, Shares Issued (in shares)</a></td>
<td class="nump">56.9801<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_DebtConversionConvertedInstrumentAmount1', window );">Debt Conversion, Converted Instrument, Amount</a></td>
<td class="nump">$ 1,000<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_DebtInstrumentConvertibleConversionPrice1', window );">Debt Instrument, Convertible, Conversion Price (in dollars per share)</a></td>
<td class="nump">$ 17.55<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_aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage', window );">Debt Instrument, Convertible, Conversion Price Premium, Percentage</a></td>
<td class="nump">30.00%<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_SharePrice', window );">Share Price (in dollars per share)</a></td>
<td class="nump">$ 13.50<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_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</a></td>
<td class="nump">130.00%<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_DebtInstrumentConvertibleThresholdTradingDays', window );">Debt Instrument, Convertible, Threshold Trading Days</a></td>
<td class="nump">20<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_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Debt Instrument, Convertible, Threshold Consecutive Trading Days</a></td>
<td class="nump">30<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_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed', window );">Debt Instrument, Redemption Price, Percentage of Principal Amount Redeemed</a></td>
<td class="nump">100.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_DeferredFinanceCostsGross', window );">Debt Issuance Costs, Gross</a></td>
<td class="nump">$ 4,100,000<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_aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage premium over the closing price per share of the conversion feature embedded in the debt 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;">aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_DebtConversionConvertedInstrumentAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of the financial instrument(s) that the original debt is being converted into in a noncash (or part noncash) transaction. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in 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> -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 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 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_DebtConversionConvertedInstrumentAmount1</td>
</tr>
<tr>
<td style="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_DebtConversionConvertedInstrumentSharesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares issued in exchange for the original debt being converted in a noncash (or part noncash) transaction. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or payments in 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> -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 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 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_DebtConversionConvertedInstrumentSharesIssued1</td>
</tr>
<tr>
<td style="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_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price per share of the conversion feature embedded in the debt instrument.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="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_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</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_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="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: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_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</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_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="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_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</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_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="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: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_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(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_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 principal amount of debt redeemed.</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_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed</td>
</tr>
<tr>
<td style="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_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</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 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-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_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="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_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</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 45<br> -Paragraph 14<br> -Subparagraph (b)<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_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for debt initially having maturity due after one year or beyond 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/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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<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_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="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_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</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_SharePrice</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityAxis=aaoi_TruistBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_TruistBankMember</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_DebtInstrumentAxis=aaoi_CapExLoanAndTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_CapExLoanAndTermLoanMember</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_LongtermDebtTypeAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408038064">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details) - The 5% Convertible Senior Notes Due 2024 [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 05, 2019</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_DebtInstrumentFaceAmount', window );">Principal</a></td>
<td class="nump">$ 80,500<span></span>
</td>
<td class="nump">$ 80,500<span></span>
</td>
<td class="nump">$ 80,500<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_UnamortizedDebtIssuanceExpense', window );">Unamortized debt issuance costs</a></td>
<td class="num">(584)<span></span>
</td>
<td class="num">(994)<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_ConvertibleNotesPayable', window );">Net carrying amount</a></td>
<td class="nump">$ 79,916<span></span>
</td>
<td class="nump">$ 79,506<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_ConvertibleNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.</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://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)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: 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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/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_ConvertibleNotesPayable</td>
</tr>
<tr>
<td style="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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="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_UnamortizedDebtIssuanceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.</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_UnamortizedDebtIssuanceExpense</td>
</tr>
<tr>
<td style="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_LongtermDebtTypeAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409143328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Convertible Senior Notes - Schedule of Interest Expense (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_AmortizationOfFinancingCosts', window );">Amortization of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 614<span></span>
</td>
<td class="nump">$ 425<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_DebtInstrumentAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member', window );">The 5% Convertible Senior Notes Due 2024 [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_InterestExpenseDebtExcludingAmortization', window );">Contractual interest expense</a></td>
<td class="nump">$ 1,006<span></span>
</td>
<td class="nump">$ 1,006<span></span>
</td>
<td class="nump">2,013<span></span>
</td>
<td class="nump">2,013<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_AmortizationOfFinancingCosts', window );">Amortization of debt issuance costs</a></td>
<td class="nump">206<span></span>
</td>
<td class="nump">206<span></span>
</td>
<td class="nump">410<span></span>
</td>
<td class="nump">410<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_InterestExpenseDebt', window );">Total interest cost</a></td>
<td class="nump">$ 1,212<span></span>
</td>
<td class="nump">$ 1,212<span></span>
</td>
<td class="nump">$ 2,423<span></span>
</td>
<td class="nump">$ 2,423<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_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate</a></td>
<td class="nump">5.10%<span></span>
</td>
<td class="nump">5.10%<span></span>
</td>
<td class="nump">5.10%<span></span>
</td>
<td class="nump">5.10%<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_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense attributable to debt issuance costs.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 2: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 4: 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(8))<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_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="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_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="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_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the cost of borrowed funds accounted for as interest expense for debt.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: 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.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_InterestExpenseDebt</td>
</tr>
<tr>
<td style="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_InterestExpenseDebtExcludingAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: 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 8<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_InterestExpenseDebtExcludingAmortization</td>
</tr>
<tr>
<td style="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_DebtInstrumentAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=aaoi_The5PercentConvertibleSeniorNotesDue2024Member</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409220064">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 13 - Accrued Liabilities - Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_AccruedSalariesCurrent', window );">Accrued payroll</a></td>
<td class="nump">$ 7,289<span></span>
</td>
<td class="nump">$ 9,702<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_AccruedEmployeeBenefitsCurrent', window );">Accrued employee benefits</a></td>
<td class="nump">3,159<span></span>
</td>
<td class="nump">3,265<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_TaxesPayableCurrent', window );">Accrued state and local taxes</a></td>
<td class="nump">1,014<span></span>
</td>
<td class="nump">588<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_aaoi_AccruedInterestCurrent', window );">Accrued interest</a></td>
<td class="nump">1,423<span></span>
</td>
<td class="nump">1,597<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_aaoi_AccruedLiabilitiesAdvancedPayments', window );">Advanced payments</a></td>
<td class="nump">161<span></span>
</td>
<td class="nump">216<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_AccruedLiabilitiesForCommissionsExpenseAndTaxes', window );">Accrued commission expenses</a></td>
<td class="nump">728<span></span>
</td>
<td class="nump">937<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_AccruedProfessionalFeesCurrent', window );">Accrued professional fees</a></td>
<td class="nump">202<span></span>
</td>
<td class="nump">409<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_ProductWarrantyAccrualClassifiedCurrent', window );">Accrued product warranty</a></td>
<td class="nump">145<span></span>
</td>
<td class="nump">140<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_OtherAccruedLiabilitiesCurrent', window );">Accrued other</a></td>
<td class="nump">581<span></span>
</td>
<td class="nump">368<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_AccruedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 14,702<span></span>
</td>
<td class="nump">$ 17,222<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_AccruedInterestCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued but unpaid interest on liabilities. 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>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;">aaoi_AccruedInterestCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_AccruedLiabilitiesAdvancedPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 advanced payments.</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;">aaoi_AccruedLiabilitiesAdvancedPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. 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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).</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 210<br> -SubTopic 10<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_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="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_AccruedLiabilitiesForCommissionsExpenseAndTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount for commissions, taxes and other expenses that were incurred but unpaid 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/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)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/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_AccruedLiabilitiesForCommissionsExpenseAndTaxes</td>
</tr>
<tr>
<td style="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_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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 210<br> -SubTopic 10<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_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="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_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the obligations incurred through that date and payable for employees' services provided. 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="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_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="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_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,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_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="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>76
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396414760432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Other Income and Expense - Other Income and Expense (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange transaction gain (loss)</a></td>
<td class="nump">$ 413<span></span>
</td>
<td class="num">$ (288)<span></span>
</td>
<td class="nump">$ 176<span></span>
</td>
<td class="num">$ (811)<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_aaoi_GovernmentSubsidyIncome', window );">Government subsidy income</a></td>
<td class="nump">715<span></span>
</td>
<td class="nump">83<span></span>
</td>
<td class="nump">833<span></span>
</td>
<td class="nump">102<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_OtherNonoperatingGainsLosses', window );">Other non-operating gain</a></td>
<td class="nump">43<span></span>
</td>
<td class="nump">28<span></span>
</td>
<td class="nump">143<span></span>
</td>
<td class="nump">45<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_GainLossOnDispositionOfAssets1', window );">Gain (loss) on disposal of assets</a></td>
<td class="num">(4)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="nump">35<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_OtherNonoperatingIncomeExpense', window );">Total other income (expenses) , net</a></td>
<td class="nump">$ 1,167<span></span>
</td>
<td class="num">$ (180)<span></span>
</td>
<td class="nump">$ 1,145<span></span>
</td>
<td class="num">$ (629)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_GovernmentSubsidyIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from government subsidy.</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;">aaoi_GovernmentSubsidyIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of realized and unrealized gain (loss) from foreign currency transaction.</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(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="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_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</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 (b)<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_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="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_OtherNonoperatingGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) 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.7,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_OtherNonoperatingGainsLosses</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396404739072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation (Details Textual) - 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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</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>
</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">$ 3,062<span></span>
</td>
<td class="nump">$ 2,144<span></span>
</td>
<td class="nump">5,352<span></span>
</td>
<td class="nump">$ 4,616<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 );">Share-Based Payment Arrangement, Option [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)</a></td>
<td class="text">4 years<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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)</a></td>
<td class="text">10 years<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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member] | Exercisable on the First Anniversary Date Following the Date of Grant [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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</a></td>
<td class="nump">25.00%<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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member] | Exercisable on Semi-annual Basis [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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</a></td>
<td class="nump">12.50%<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_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [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_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 500<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">900<span></span>
</td>
<td class="nump">$ 700<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</a></td>
<td class="nump">$ 8,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,700<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</a></td>
<td class="text">2 years 6 months<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_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member] | 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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount', window );">Sharebased Compensation Arrangement By Sharebased Payment Award Performance Award Value Percentage Of Based Amount</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.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_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member] | 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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount', window );">Sharebased Compensation Arrangement By Sharebased Payment Award Performance Award Value Percentage Of Based Amount</a></td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.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_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member] | Vesting on the Third Anniversary [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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</a></td>
<td class="nump">100.00%<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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</a></td>
<td class="nump">$ 15,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,800<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</a></td>
<td class="text">2 years 6 months<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Share-based Payment Award Performance Award Value Percentage Of Based Amount.</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;">aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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://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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vesting of 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/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="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_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_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_VestingAxis=aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember</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_VestingAxis=aaoi_ExercisableOnSemiannualBasisMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=aaoi_ExercisableOnSemiannualBasisMember</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_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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>
<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_VestingAxis=aaoi_VestingOnTheThirdAnniversaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=aaoi_VestingOnTheThirdAnniversaryMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408797664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation - 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, 2023</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, number of shares (in shares)</a></td>
<td class="nump">263<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 10.41<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, weighted average fair value (in dollars per share)</a></td>
<td class="nump">$ 5.45<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 );">Outstanding, weighted average remaining contractual life (Year)</a></td>
<td class="text">3 months 25 days<span></span>
</td>
<td class="text">8 months 15 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, aggregate intrinsic value</a></td>
<td class="nump">$ 0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Forfeited, number of shares (in shares)</a></td>
<td class="num">(34)<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 7.50<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Forfeited, weighted average fair value (in dollars per share)</a></td>
<td class="nump">$ 4.73<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue', window );">Forfeited, aggregate intrinsic value</a></td>
<td class="nump">$ 0<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 );">Outstanding, number of shares (in shares)</a></td>
<td class="nump">229<span></span>
</td>
<td class="nump">263<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 );">Outstanding, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 10.84<span></span>
</td>
<td class="nump">$ 10.41<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, weighted average fair value (in dollars per share)</a></td>
<td class="nump">$ 5.56<span></span>
</td>
<td class="nump">$ 5.45<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable, number of shares (in shares)</a></td>
<td class="nump">229<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 10.84<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue', window );">Exercisable, weighted average fair value (in dollars per share)</a></td>
<td class="nump">$ 5.56<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, weighted average remaining contractual life (Year)</a></td>
<td class="text">3 months 25 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Exercisable, aggregate intrinsic value</a></td>
<td class="nump">$ 0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Vested and expected to vest, number of shares (in shares)</a></td>
<td class="nump">229<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Vested and expected to vest, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 10.84<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue', window );">Vested and expected to vest, weighted average fair value (in dollars per share)</a></td>
<td class="nump">$ 5.56<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest, weighted average remaining contractual life (Year)</a></td>
<td class="text">3 months 25 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Vested and expected to vest, aggregate intrinsic value</a></td>
<td class="nump">$ 0<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of options exercisable.</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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the current fair value of the underlying stock exceeds the exercise price of options forfeited.</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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of options vested and expected to vest.</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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the 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)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable 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)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the current fair value of the underlying stock exceeds the exercise price of options outstanding.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="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_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 could have acquired the underlying shares with respect to stock options that were terminated.</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)(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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of non-vested options forfeited.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of non-vested options outstanding.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the 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)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R70.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408811120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation - Performance Stock Units Activity (Details) - Performance Shares [Member]<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, number of shares (in shares) | shares</a></td>
<td class="nump">766<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 );">Outstanding, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 6.75<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 );">Outstanding, aggregate intrinsic value | $</a></td>
<td class="nump">$ 1,447<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 );">Granted, number of shares (in shares) | shares</a></td>
<td class="nump">767<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 );">Granted, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 8.89<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted', window );">Granted, aggregate intrinsic value | $</a></td>
<td class="nump">$ 3,566<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Released, number of shares (in shares) | 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 );">Released, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 0<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised', window );">Released, aggregate intrinsic value | $</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations', window );">Cancelled/Forfeited, number of shares (in shares) | 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 );">Cancelled/Forfeited, weighted average fair value (in dollars per share) | $ / shares</a></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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled', window );">Cancelled/Forfeited, aggregate intrinsic value | $</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, number of shares (in shares) | shares</a></td>
<td class="nump">1,533<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 );">Outstanding, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 7.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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding', window );">Outstanding, aggregate intrinsic value | $</a></td>
<td class="nump">$ 9,134<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest', window );">Vested and expected to vest, number of shares (in shares) | shares</a></td>
<td class="nump">1,533<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue', window );">Vested and expected to vest, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 7.82<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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Vested and expected to vest, aggregate intrinsic value | $</a></td>
<td class="nump">$ 9,134<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cancelled 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercised 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 granted 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested and expected to vest 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity instruments other than options vested and expected to vest.</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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-option equity instruments exercised by participants.</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> -Subparagraph (c)(1)(iv)(2)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 under non-option equity instrument agreements for which rights to exercise lapsed.</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> -Subparagraph (c)(1)(iv)(4)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity instruments other than options outstanding, including both vested and non-vested 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 2<br> -Subparagraph (c)(1)(i)<br> -SubTopic 10<br> -Topic 718<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 (c)(1)(ii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="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_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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>80
<FILENAME>R71.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396404775280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details) - Restricted Stock Units (RSUs) [Member]<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, number of shares (in shares) | shares</a></td>
<td class="nump">2,210<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 );">Outstanding, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 5.76<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 );">Outstanding, aggregate intrinsic value | $</a></td>
<td class="nump">$ 4,175<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 );">Granted, number of shares (in shares) | shares</a></td>
<td class="nump">2,074<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 );">Granted, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 4.60<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted', window );">Granted, aggregate intrinsic value | $</a></td>
<td class="nump">$ 9,540<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Released, number of shares (in shares) | shares</a></td>
<td class="num">(580)<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 );">Released, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 6.37<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised', window );">Released, aggregate intrinsic value | $</a></td>
<td class="nump">$ 1,321<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations', window );">Cancelled/Forfeited, number of shares (in shares) | shares</a></td>
<td class="num">(110)<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 );">Cancelled/Forfeited, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 3.93<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled', window );">Cancelled/Forfeited, aggregate intrinsic value | $</a></td>
<td class="nump">$ 654<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, number of shares (in shares) | shares</a></td>
<td class="nump">3,594<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 );">Outstanding, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 5.05<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 );">Outstanding, aggregate intrinsic value | $</a></td>
<td class="nump">$ 21,422<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest', window );">Vested and expected to vest, number of shares (in shares) | shares</a></td>
<td class="nump">3,594<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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue', window );">Vested and expected to vest, weighted average fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 5.05<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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Vested and expected to vest, aggregate intrinsic value | $</a></td>
<td class="nump">$ 21,422<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cancelled 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercised 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 granted 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested and expected to vest 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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity instruments other than options vested and expected to vest.</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;">aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-option equity instruments exercised by participants.</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> -Subparagraph (c)(1)(iv)(2)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 under non-option equity instrument agreements for which rights to exercise lapsed.</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> -Subparagraph (c)(1)(iv)(4)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity instruments other than options outstanding, including both vested and non-vested 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 2<br> -Subparagraph (c)(1)(i)<br> -SubTopic 10<br> -Topic 718<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 (c)(1)(ii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="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_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>81
<FILENAME>R72.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409360912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share-based Compensation - Share-based Compensation (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_AllocatedShareBasedCompensationExpense', window );">Total share-based compensation expense</a></td>
<td class="nump">$ 3,062<span></span>
</td>
<td class="nump">$ 2,144<span></span>
</td>
<td class="nump">$ 5,352<span></span>
</td>
<td class="nump">$ 4,616<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 Sales [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_AllocatedShareBasedCompensationExpense', window );">Total share-based compensation expense</a></td>
<td class="nump">156<span></span>
</td>
<td class="nump">114<span></span>
</td>
<td class="nump">270<span></span>
</td>
<td class="nump">250<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 Expense [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_AllocatedShareBasedCompensationExpense', window );">Total share-based compensation expense</a></td>
<td class="nump">480<span></span>
</td>
<td class="nump">310<span></span>
</td>
<td class="nump">777<span></span>
</td>
<td class="nump">675<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 );">Selling and Marketing Expense [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_AllocatedShareBasedCompensationExpense', window );">Total share-based compensation expense</a></td>
<td class="nump">291<span></span>
</td>
<td class="nump">186<span></span>
</td>
<td class="nump">486<span></span>
</td>
<td class="nump">412<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 Expense [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_AllocatedShareBasedCompensationExpense', window );">Total share-based compensation expense</a></td>
<td class="nump">$ 2,135<span></span>
</td>
<td class="nump">$ 1,534<span></span>
</td>
<td class="nump">$ 3,819<span></span>
</td>
<td class="nump">$ 3,279<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_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>82
<FILENAME>R73.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411575024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Income Taxes (Details Textual)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_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 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 2: 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 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.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R74.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411589008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Geographic Information (Details Textual)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><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_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="nump">1<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_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</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 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-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_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="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: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></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R75.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396408837072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Geographic Information - Revenue Information by Geographic Region (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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue, net</a></td>
<td class="nump">$ 41,615<span></span>
</td>
<td class="nump">$ 52,299<span></span>
</td>
<td class="nump">$ 94,645<span></span>
</td>
<td class="nump">$ 104,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_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>
</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 );">Revenue, net</a></td>
<td class="nump">2,702<span></span>
</td>
<td class="nump">1,147<span></span>
</td>
<td class="nump">9,141<span></span>
</td>
<td class="nump">3,705<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_TW', window );">TAIWAN</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 );">Revenue, net</a></td>
<td class="nump">34,271<span></span>
</td>
<td class="nump">37,205<span></span>
</td>
<td class="nump">76,657<span></span>
</td>
<td class="nump">64,984<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_CN', window );">CHINA</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 );">Revenue, net</a></td>
<td class="nump">$ 4,642<span></span>
</td>
<td class="nump">$ 13,947<span></span>
</td>
<td class="nump">$ 8,847<span></span>
</td>
<td class="nump">$ 35,851<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_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 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 2: 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 3: 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 4: 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 5: 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 6: 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 (b)<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/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 8: 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 9: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: 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=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_TW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TW</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=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</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>85
<FILENAME>R76.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396409379328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 17 - Geographic Information - Asset Information by Geographic Region (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</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_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">$ 211,800<span></span>
</td>
<td class="nump">$ 224,713<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>
</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 );">Long-lived assets</a></td>
<td class="nump">76,605<span></span>
</td>
<td class="nump">80,048<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_TW', window );">TAIWAN</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 );">Long-lived assets</a></td>
<td class="nump">47,002<span></span>
</td>
<td class="nump">50,777<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_CN', window );">CHINA</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 );">Long-lived assets</a></td>
<td class="nump">$ 88,193<span></span>
</td>
<td class="nump">$ 93,888<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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_TW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TW</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=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</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>86
<FILENAME>R77.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396411571104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 18 - Contingencies (Details Textual) - Loss Contingency, Obligation for Sales and Use Tax [Member]<br> $ in Millions</strong></div></th>
<th class="th">
<div>Aug. 09, 2021 </div>
<div>USD ($)</div>
</th>
</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_aaoi_LossContingencyPotentialObigation', window );">Loss Contingency, Potential Obligation</a></td>
<td class="nump">$ 1.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_LossContingencyAccrualPayments', window );">Loss Contingency Accrual, Payments</a></td>
<td class="nump">$ 0.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aaoi_LossContingencyPotentialObigation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Describes the form and magnitude of the amount of the potential obligation.</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;">aaoi_LossContingencyPotentialObigation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aaoi_</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_LossContingencyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reducing loss contingency 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 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-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_LossContingencyAccrualPayments</td>
</tr>
<tr>
<td style="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_LossContingenciesByNatureOfContingencyAxis=aaoi_LossContingencyObligationForSalesAndUseTaxMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LossContingenciesByNatureOfContingencyAxis=aaoi_LossContingencyObligationForSalesAndUseTaxMember</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>87
<FILENAME>R78.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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140396504141104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 19 - Subsequent Events (Details Textual)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Jul. 13, 2023 </div>
<div>USD ($)</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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember', window );">CIT Northbridge Credit, LLC [Member] | Subsequent Event [Member]</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_RepaymentsOfDebt', window );">Repayments of Debt</a></td>
<td class="nump">$ 5.8<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_RepaymentsOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for short-term and long-term debt. Excludes payment of lease obligation.</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 15<br> -Subparagraph (b)<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_RepaymentsOfDebt</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=aaoi_CITNorthbridgeCreditLLCMember</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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</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>88
<FILENAME>aaoi20230630_10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:aaoi="http://ao-inc.com/20230630"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:thunderdome="http://www.RDGFilings.com"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="aaoi-20230630.xsd" xlink:type="simple"/>
    <context id="d_2023-01-01_2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="i_2023-08-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2023-08-01</instant>
        </period>
    </context>
    <context id="i_2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2023-03-31_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i_2023-03-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i_2023-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i_2023-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i_2023-03-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2022-03-31_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i_2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aaoi:YuhanOptoelectronicTechnologyCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">aaoi:ManufacturingFacilitiesInPrcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-15</instant>
        </period>
    </context>
    <context id="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aaoi:YuhanOptoelectronicTechnologyCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">aaoi:ManufacturingFacilitiesInPrcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-15</instant>
        </period>
    </context>
    <context id="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aaoi:YuhanOptoelectronicTechnologyCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">aaoi:ManufacturingFacilitiesInPrcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-15</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-CATVMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-CATVMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-DataCenterMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-DataCenterMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-TelecomMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-TelecomMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-FTTHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-FTTHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-CATVMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-CATVMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:CATVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-DataCenterMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-DataCenterMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:DataCenterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-TelecomMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-TelecomMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:TelecomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-FTTHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-FTTHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aaoi:FTTHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductAndServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">us-gaap:BankersAcceptanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">us-gaap:BankersAcceptanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_StatementGeographicalAxis-CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementGeographicalAxis-CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">aaoi:GuaranteeDepositsForCustomsDutiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">aaoi:GuaranteeDepositsForCustomsDutiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">aaoi:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">aaoi:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_LongtermDebtTypeAxis-SeniorNotesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-16</startDate>
            <endDate>2022-11-16</endDate>
        </period>
    </context>
    <context id="i_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-16</instant>
        </period>
    </context>
    <context id="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_VariableRateAxis-SecuredOvernightFinancingRateSOFRMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:LoanSecurityAndGuaranteeAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">aaoi:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-16</startDate>
            <endDate>2022-11-16</endDate>
        </period>
    </context>
    <context id="d_2019-05-24_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:TheSPDCreditLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-05-24</startDate>
            <endDate>2019-05-24</endDate>
        </period>
    </context>
    <context id="i_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:TheSPDCreditLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-05-24</instant>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:TheSPDCreditLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:SPDBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="d_2022-06-07_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-07</startDate>
            <endDate>2022-06-07</endDate>
        </period>
    </context>
    <context id="i_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-07</instant>
        </period>
    </context>
    <context id="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The200MCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:ChinaZheshangBankCoLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aaoi:GlobalTechnologyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-05</instant>
        </period>
    </context>
    <context id="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-05</startDate>
            <endDate>2019-03-05</endDate>
        </period>
    </context>
    <context id="d_2019-03-05_2019-03-05_DebtInstrumentAxis-CapExLoanAndTermLoanMember_LineOfCreditFacilityAxis-TruistBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:CapExLoanAndTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:TruistBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-05</startDate>
            <endDate>2019-03-05</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aaoi:The5PercentConvertibleSeniorNotesDue2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">aaoi:ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnSemiannualBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">aaoi:ExercisableOnSemiannualBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember_VestingAxis-VestingOnTheThirdAnniversaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">aaoi:VestingOnTheThirdAnniversaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-04-01_2022-06-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</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="d_2022-01-01_2022-06-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementGeographicalAxis-TW">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementGeographicalAxis-TW">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementGeographicalAxis-TW">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementGeographicalAxis-TW">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-04-01_2023-06-30_StatementGeographicalAxis-CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_StatementGeographicalAxis-CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-06-30_StatementGeographicalAxis-CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-06-30_StatementGeographicalAxis-CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2023-06-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2023-06-30_StatementGeographicalAxis-TW">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementGeographicalAxis-TW">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">aaoi:LossContingencyObligationForSalesAndUseTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-09</startDate>
            <endDate>2021-08-09</endDate>
        </period>
    </context>
    <context id="d_2023-07-13_2023-07-13_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_SubsequentEventTypeAxis-SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158114</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">aaoi:CITNorthbridgeCreditLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-13</startDate>
            <endDate>2023-07-13</endDate>
        </period>
    </context>
    <unit id="Share">
        <measure>shares</measure>
    </unit>
    <unit id="NonApplicable">
        <measure>thunderdome:item</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="USDPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Year">
        <measure>utr:Y</measure>
    </unit>
    <unit id="CNY">
        <measure>iso4217:CNY</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="d_2023-01-01_2023-06-30"
      id="thunderdome-EntityCentralIndexKey">0001158114</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName
      contextRef="d_2023-01-01_2023-06-30"
      id="thunderdome-EntityRegistrantName">APPLIED OPTOELECTRONICS, INC.</dei:EntityRegistrantName>
    <dei:AmendmentFlag contextRef="d_2023-01-01_2023-06-30">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="d_2023-01-01_2023-06-30">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="d_2023-01-01_2023-06-30">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="d_2023-01-01_2023-06-30">2023</dei:DocumentFiscalYearFocus>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824520"
      unitRef="USD">9000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824521"
      unitRef="USD">28000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2023-06-30"
      decimals="-6"
      id="c100824580"
      unitRef="Share">45000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2022-12-31"
      decimals="-6"
      id="c100824581"
      unitRef="Share">45000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i_2023-06-30"
      decimals="INF"
      id="c100824582"
      unitRef="USDPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c100824583"
      unitRef="USDPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824584"
      unitRef="Share">31785000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824586"
      unitRef="Share">31785000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824585"
      unitRef="Share">28622000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824587"
      unitRef="Share">28622000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:LeaseCost
      contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"
      decimals="-5"
      id="c100825332"
      unitRef="USD">300000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"
      decimals="-5"
      id="c100825334"
      unitRef="USD">600000</us-gaap:LeaseCost>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c100825563"
      unitRef="USD">200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c100827760"
      unitRef="USD">300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="-4"
      id="c100825693"
      unitRef="USD">27780000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="-4"
      id="c100825694"
      unitRef="USD">27780000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="5"
      id="c100825695"
      unitRef="Pure">0.09663</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="5"
      id="c100825696"
      unitRef="Pure">0.09663</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentMaturityDateRangeStart1
      contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      id="c100825697">2023-12-14</us-gaap:DebtInstrumentMaturityDateRangeStart1>
    <us-gaap:DebtInstrumentMaturityDateRangeStart1
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      id="c100825698">2023-12-14</us-gaap:DebtInstrumentMaturityDateRangeStart1>
    <us-gaap:DebtInstrumentMaturityDateRangeEnd1
      contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      id="c100825699">2025-11-16</us-gaap:DebtInstrumentMaturityDateRangeEnd1>
    <us-gaap:DebtInstrumentMaturityDateRangeEnd1
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      id="c100825700">2025-11-16</us-gaap:DebtInstrumentMaturityDateRangeEnd1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-3"
      id="c100825703"
      unitRef="USD">19037000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-3"
      id="c100825704"
      unitRef="USD">19037000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember"
      decimals="4"
      id="c100825705"
      unitRef="Pure">0.0457</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MinimumMember"
      decimals="4"
      id="c100825706"
      unitRef="Pure">0.0457</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember"
      decimals="4"
      id="c100825707"
      unitRef="Pure">0.0612</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember_RangeAxis-MaximumMember"
      decimals="4"
      id="c100825708"
      unitRef="Pure">0.0612</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"
      id="c100825709">2024-05-24</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"
      id="c100825710">2024-05-24</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-3"
      id="c100825713"
      unitRef="USD">26651000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-3"
      id="c100825714"
      unitRef="USD">26651000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember"
      decimals="4"
      id="c100825715"
      unitRef="Pure">0.0445</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember_RangeAxis-MinimumMember"
      decimals="4"
      id="c100825716"
      unitRef="Pure">0.0445</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="3"
      id="c100825717"
      unitRef="Pure">0.066</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="3"
      id="c100825718"
      unitRef="Pure">0.066</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2023-04-01_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      id="c100825719">2027-06-06</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      id="c100825720">2027-06-06</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentTerm
      contextRef="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      id="c100825635">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="d_2019-05-24_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"
      id="c100825642">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="d_2022-06-07_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      id="c100825648">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      id="c100825881">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember"
      id="c100825882">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="d_2022-04-01_2022-06-30"
      decimals="2"
      id="c100826097"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:NumberOfReportableSegments
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100826107"
      unitRef="Pure">1</us-gaap:NumberOfReportableSegments>
    <dei:DocumentType contextRef="d_2023-01-01_2023-06-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="d_2023-01-01_2023-06-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="d_2023-01-01_2023-06-30">2023-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="d_2023-01-01_2023-06-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="d_2023-01-01_2023-06-30">001-36083</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="d_2023-01-01_2023-06-30">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="d_2023-01-01_2023-06-30">76-0533927</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d_2023-01-01_2023-06-30">13139 Jess Pirtle Blvd.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d_2023-01-01_2023-06-30">Sugar Land</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d_2023-01-01_2023-06-30">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d_2023-01-01_2023-06-30">77478</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d_2023-01-01_2023-06-30">281</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d_2023-01-01_2023-06-30">295-1800</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="d_2023-01-01_2023-06-30">Common Stock, Par value $0.001</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d_2023-01-01_2023-06-30">AAOI</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d_2023-01-01_2023-06-30">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="d_2023-01-01_2023-06-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="d_2023-01-01_2023-06-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="d_2023-01-01_2023-06-30">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="d_2023-01-01_2023-06-30">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="d_2023-01-01_2023-06-30">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="d_2023-01-01_2023-06-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="i_2023-08-01" decimals="INF" unitRef="Share">32128847</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824513"
      unitRef="USD">21578000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824514"
      unitRef="USD">24685000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824515"
      unitRef="USD">7034000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824516"
      unitRef="USD">10902000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824517"
      unitRef="USD">42598000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824518"
      unitRef="USD">61175000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824522"
      unitRef="USD">782000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824524"
      unitRef="USD">339000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824525"
      unitRef="USD">66321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824526"
      unitRef="USD">79679000</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824527"
      unitRef="USD">2000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824528"
      unitRef="USD">0</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824530"
      unitRef="USD">6231000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824531"
      unitRef="USD">6384000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824533"
      unitRef="USD">144546000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824534"
      unitRef="USD">183164000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824535"
      unitRef="USD">197879000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824536"
      unitRef="USD">210184000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IndefiniteLivedContractualRights
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100824537"
      unitRef="USD">4990000</us-gaap:IndefiniteLivedContractualRights>
    <us-gaap:IndefiniteLivedContractualRights
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824538"
      unitRef="USD">5238000</us-gaap:IndefiniteLivedContractualRights>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824539"
      unitRef="USD">5296000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824540"
      unitRef="USD">5566000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100824541"
      unitRef="USD">10000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824542"
      unitRef="USD">26000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824543"
      unitRef="USD">3625000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824544"
      unitRef="USD">3699000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824545"
      unitRef="USD">531000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824546"
      unitRef="USD">386000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824547"
      unitRef="USD">356877000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824548"
      unitRef="USD">408263000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824551"
      unitRef="USD">35111000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824552"
      unitRef="USD">47845000</us-gaap:AccountsPayableCurrent>
    <aaoi:BankAcceptancesExecutedAndOutstandingCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824553"
      unitRef="USD">8637000</aaoi:BankAcceptancesExecutedAndOutstandingCurrent>
    <aaoi:BankAcceptancesExecutedAndOutstandingCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824554"
      unitRef="USD">12337000</aaoi:BankAcceptancesExecutedAndOutstandingCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824555"
      unitRef="USD">14702000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824556"
      unitRef="USD">17222000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100824557"
      unitRef="USD">10720000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i_2022-12-31"
      decimals="-6"
      id="c100824558"
      unitRef="USD">3000000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824559"
      unitRef="USD">1055000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824560"
      unitRef="USD">1041000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824561"
      unitRef="USD">53000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824562"
      unitRef="USD">63000</us-gaap:FinanceLeaseLiabilityCurrent>
    <aaoi:NotesPayableAndLongtermDebtCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824563"
      unitRef="USD">37276000</aaoi:NotesPayableAndLongtermDebtCurrent>
    <aaoi:NotesPayableAndLongtermDebtCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824564"
      unitRef="USD">57074000</aaoi:NotesPayableAndLongtermDebtCurrent>
    <us-gaap:ConvertibleDebtCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824565"
      unitRef="USD">79916000</us-gaap:ConvertibleDebtCurrent>
    <us-gaap:ConvertibleDebtCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824566"
      unitRef="USD">0</us-gaap:ConvertibleDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100824567"
      unitRef="USD">187470000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824568"
      unitRef="USD">138582000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i_2023-06-30"
      decimals="-6"
      id="c100824569"
      unitRef="USD">1000000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824570"
      unitRef="USD">0</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824571"
      unitRef="USD">5148000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824572"
      unitRef="USD">5505000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824573"
      unitRef="USD">0</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824574"
      unitRef="USD">79506000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:Liabilities
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824575"
      unitRef="USD">193618000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824576"
      unitRef="USD">223593000</us-gaap:Liabilities>
    <us-gaap:CommonStockValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824578"
      unitRef="USD">32000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824579"
      unitRef="USD">29000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824588"
      unitRef="USD">407003000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824589"
      unitRef="USD">391526000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100824590"
      unitRef="USD">-1470000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824591"
      unitRef="USD">2183000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824592"
      unitRef="USD">-242306000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824593"
      unitRef="USD">-209068000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824594"
      unitRef="USD">163259000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c100824595"
      unitRef="USD">184670000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824596"
      unitRef="USD">356877000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100824597"
      unitRef="USD">408263000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824606"
      unitRef="USD">41615000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824607"
      unitRef="USD">52299000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824608"
      unitRef="USD">94645000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100824609"
      unitRef="USD">104540000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824610"
      unitRef="USD">33717000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824611"
      unitRef="USD">43671000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824612"
      unitRef="USD">77503000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824613"
      unitRef="USD">86888000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824614"
      unitRef="USD">7898000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824615"
      unitRef="USD">8628000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824616"
      unitRef="USD">17142000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824617"
      unitRef="USD">17652000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-4"
      id="c100824619"
      unitRef="USD">8640000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824620"
      unitRef="USD">8328000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824621"
      unitRef="USD">17176000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824622"
      unitRef="USD">17814000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824623"
      unitRef="USD">2269000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824624"
      unitRef="USD">2164000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824625"
      unitRef="USD">4596000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824626"
      unitRef="USD">4722000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824627"
      unitRef="USD">12954000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824628"
      unitRef="USD">11035000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824629"
      unitRef="USD">25502000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824630"
      unitRef="USD">22254000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824631"
      unitRef="USD">23863000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824632"
      unitRef="USD">21527000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824633"
      unitRef="USD">47274000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100824634"
      unitRef="USD">44790000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824635"
      unitRef="USD">-15965000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824636"
      unitRef="USD">-12899000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824637"
      unitRef="USD">-30132000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824638"
      unitRef="USD">-27138000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824640"
      unitRef="USD">37000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824641"
      unitRef="USD">31000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100824642"
      unitRef="USD">70000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824643"
      unitRef="USD">59000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824644"
      unitRef="USD">2175000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824645"
      unitRef="USD">1408000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824646"
      unitRef="USD">4312000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100824647"
      unitRef="USD">2810000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824648"
      unitRef="USD">1167000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-4"
      id="c100824649"
      unitRef="USD">-180000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824650"
      unitRef="USD">1145000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824651"
      unitRef="USD">-629000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824652"
      unitRef="USD">-971000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824653"
      unitRef="USD">-1557000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824654"
      unitRef="USD">-3097000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100824655"
      unitRef="USD">-3380000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824656"
      unitRef="USD">-16936000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824657"
      unitRef="USD">-14456000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824658"
      unitRef="USD">-33229000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824659"
      unitRef="USD">-30518000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824660"
      unitRef="USD">8000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824661"
      unitRef="USD">-0</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824662"
      unitRef="USD">8000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824663"
      unitRef="USD">-0</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824664"
      unitRef="USD">-16944000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824665"
      unitRef="USD">-14456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824666"
      unitRef="USD">-33237000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824667"
      unitRef="USD">-30518000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100824669"
      unitRef="USDPerShare">-0.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c100824670"
      unitRef="USDPerShare">-0.52</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100824671"
      unitRef="USDPerShare">-1.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c100824672"
      unitRef="USDPerShare">-1.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100824673"
      unitRef="USDPerShare">-0.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c100824674"
      unitRef="USDPerShare">-0.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100824675"
      unitRef="USDPerShare">-1.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c100824676"
      unitRef="USDPerShare">-1.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100824678"
      unitRef="Share">29488561</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c100824679"
      unitRef="Share">27612315</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100824680"
      unitRef="Share">29181913</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c100824681"
      unitRef="Share">27537048</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100824682"
      unitRef="Share">29488561</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c100824683"
      unitRef="Share">27612315</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100824684"
      unitRef="Share">29181913</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c100824685"
      unitRef="Share">27537048</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824694"
      unitRef="USD">-16944000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824695"
      unitRef="USD">-14456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824696"
      unitRef="USD">-33237000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824697"
      unitRef="USD">-30518000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824698"
      unitRef="USD">-5293000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824699"
      unitRef="USD">-7583000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824700"
      unitRef="USD">-3654000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824701"
      unitRef="USD">-8845000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824702"
      unitRef="USD">-22237000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824703"
      unitRef="USD">-22039000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824704"
      unitRef="USD">-36891000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100824705"
      unitRef="USD">-39363000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824738"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824739"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824740"
      unitRef="Share">29072000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824741"
      unitRef="USD">29000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824742"
      unitRef="USD">394148000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824743"
      unitRef="USD">3823000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824744"
      unitRef="USD">-225362000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-03-31"
      decimals="-3"
      id="c100824745"
      unitRef="USD">172638000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824747"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824748"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824750"
      unitRef="Share">215000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824751"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824753"
      unitRef="USD">-83000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824754"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824756"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824757"
      unitRef="USD">-83000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824760"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824763"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824765"
      unitRef="USD">3062000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824766"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824768"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824769"
      unitRef="USD">3062000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824770"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824771"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824772"
      unitRef="Share">2498000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824773"
      unitRef="USD">3000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824774"
      unitRef="USD">9876000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824775"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824776"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824777"
      unitRef="USD">9879000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824779"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824781"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824782"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824783"
      unitRef="USD">-5293000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824784"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824785"
      unitRef="USD">-5293000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824787"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824789"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824790"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824791"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824792"
      unitRef="USD">-16944000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100824793"
      unitRef="USD">-16944000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824794"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824795"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824796"
      unitRef="Share">31785000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824797"
      unitRef="USD">32000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824798"
      unitRef="USD">407003000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-4"
      id="c100824799"
      unitRef="USD">-1470000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824800"
      unitRef="USD">-242306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824801"
      unitRef="USD">163259000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824834"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824835"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-4"
      id="c100824836"
      unitRef="Share">27530000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824837"
      unitRef="USD">28000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824838"
      unitRef="USD">383474000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824839"
      unitRef="USD">14809000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824840"
      unitRef="USD">-158735000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-03-31"
      decimals="-3"
      id="c100824841"
      unitRef="USD">239576000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824843"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824844"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824846"
      unitRef="Share">128000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824847"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824850"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824853"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824855"
      unitRef="USD">2144000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824857"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824859"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824861"
      unitRef="USD">2144000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824865"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824869"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824870"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824871"
      unitRef="USD">-7583000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824872"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100824873"
      unitRef="USD">-7583000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824875"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824877"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824878"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824879"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824880"
      unitRef="Share">27658000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824881"
      unitRef="USD">28000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824882"
      unitRef="USD">385531000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824883"
      unitRef="USD">7226000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824884"
      unitRef="USD">-173191000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c100824885"
      unitRef="USD">219594000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824930"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824931"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824932"
      unitRef="Share">28623000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824933"
      unitRef="USD">29000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824934"
      unitRef="USD">391526000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824935"
      unitRef="USD">2183000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824936"
      unitRef="USD">-209068000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c100824937"
      unitRef="USD">184670000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824938"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824939"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824940"
      unitRef="Share">507000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824941"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824942"
      unitRef="USD">-159000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824943"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824944"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824945"
      unitRef="USD">-159000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824947"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824949"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824950"
      unitRef="USD">5352000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824951"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824952"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824953"
      unitRef="USD">5352000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824954"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824955"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824956"
      unitRef="Share">2655000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824957"
      unitRef="USD">3000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824958"
      unitRef="USD">10284000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824959"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824960"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824961"
      unitRef="USD">10287000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824963"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824965"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824966"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824967"
      unitRef="USD">-3653000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824968"
      unitRef="USD">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824969"
      unitRef="USD">-3654000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824971"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824973"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824974"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100824975"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824976"
      unitRef="USD">-33237000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100824977"
      unitRef="USD">-33237000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824978"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100824979"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824980"
      unitRef="Share">31785000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100824981"
      unitRef="USD">32000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100824982"
      unitRef="USD">407003000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-4"
      id="c100824983"
      unitRef="USD">-1470000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100824984"
      unitRef="USD">-242306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100824985"
      unitRef="USD">163259000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825018"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825019"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825020"
      unitRef="Share">27323000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825021"
      unitRef="USD">27000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100825022"
      unitRef="USD">381143000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100825023"
      unitRef="USD">16071000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100825024"
      unitRef="USD">-142671000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c100825025"
      unitRef="USD">254570000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825027"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825028"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825030"
      unitRef="Share">335000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825031"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825034"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825037"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100825039"
      unitRef="USD">4616000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100825041"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100825043"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825045"
      unitRef="USD">4616000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825049"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825053"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100825054"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100825055"
      unitRef="USD">-8845000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100825056"
      unitRef="USD">-2000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825057"
      unitRef="USD">-8847000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825059"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825061"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100825063"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100825065"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100825067"
      unitRef="USD">-30518000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825069"
      unitRef="USD">-30518000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825071"
      unitRef="Share">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-PreferredStockMember"
      decimals="-3"
      id="c100825073"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825075"
      unitRef="Share">27658000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c100825077"
      unitRef="USD">28000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c100825078"
      unitRef="USD">385531000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c100825079"
      unitRef="USD">7226000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c100825080"
      unitRef="USD">-173191000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-06-30"
      decimals="-3"
      id="c100825081"
      unitRef="USD">219594000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825087"
      unitRef="USD">-33237000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825088"
      unitRef="USD">-30518000</us-gaap:NetIncomeLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825090"
      unitRef="USD">-19000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825091"
      unitRef="USD">-4000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825092"
      unitRef="USD">5028000</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825093"
      unitRef="USD">2403000</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:DepreciationAndAmortization
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825094"
      unitRef="USD">10522000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825095"
      unitRef="USD">11995000</us-gaap:DepreciationAndAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825096"
      unitRef="USD">614000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825097"
      unitRef="USD">425000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825098"
      unitRef="USD">-7000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825099"
      unitRef="USD">35000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825100"
      unitRef="USD">5352000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825101"
      unitRef="USD">4616000</us-gaap:ShareBasedCompensation>
    <us-gaap:UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825102"
      unitRef="USD">1147000</us-gaap:UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax>
    <us-gaap:UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825103"
      unitRef="USD">-1366000</us-gaap:UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825105"
      unitRef="USD">-18596000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825106"
      unitRef="USD">-5938000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInNotesReceivables
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825107"
      unitRef="USD">488000</us-gaap:IncreaseDecreaseInNotesReceivables>
    <us-gaap:IncreaseDecreaseInNotesReceivables
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825108"
      unitRef="USD">-7911000</us-gaap:IncreaseDecreaseInNotesReceivables>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825109"
      unitRef="USD">2000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825110"
      unitRef="USD">-1000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825111"
      unitRef="USD">-6980000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100825112"
      unitRef="USD">11530000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825113"
      unitRef="USD">-97000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825114"
      unitRef="USD">2118000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <aaoi:IncreaseDecreaseInOperatingRightOfUseAsset
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825115"
      unitRef="USD">204000</aaoi:IncreaseDecreaseInOperatingRightOfUseAsset>
    <aaoi:IncreaseDecreaseInOperatingRightOfUseAsset
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825116"
      unitRef="USD">477000</aaoi:IncreaseDecreaseInOperatingRightOfUseAsset>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825117"
      unitRef="USD">-12735000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825118"
      unitRef="USD">10965000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825119"
      unitRef="USD">-2358000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100825120"
      unitRef="USD">-2730000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825121"
      unitRef="USD">-1000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825122"
      unitRef="USD">-1000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825123"
      unitRef="USD">8720000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825124"
      unitRef="USD">0</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <aaoi:IncreaseDecreaseInOperatingAndFinanceLeaseLiability
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825125"
      unitRef="USD">-265000</aaoi:IncreaseDecreaseInOperatingAndFinanceLeaseLiability>
    <aaoi:IncreaseDecreaseInOperatingAndFinanceLeaseLiability
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825126"
      unitRef="USD">-511000</aaoi:IncreaseDecreaseInOperatingAndFinanceLeaseLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825127"
      unitRef="USD">5868000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100825128"
      unitRef="USD">-1350000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825130"
      unitRef="USD">1460000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825131"
      unitRef="USD">1669000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825132"
      unitRef="USD">66000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825133"
      unitRef="USD">118000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromOtherDeposits
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825134"
      unitRef="USD">265000</us-gaap:PaymentsForProceedsFromOtherDeposits>
    <us-gaap:PaymentsForProceedsFromOtherDeposits
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825135"
      unitRef="USD">214000</us-gaap:PaymentsForProceedsFromOtherDeposits>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825136"
      unitRef="USD">251000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825137"
      unitRef="USD">245000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825138"
      unitRef="USD">-1910000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100825139"
      unitRef="USD">-2010000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <aaoi:RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825141"
      unitRef="USD">-0</aaoi:RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable>
    <aaoi:RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825142"
      unitRef="USD">7336000</aaoi:RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825143"
      unitRef="USD">45343000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825144"
      unitRef="USD">76903000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825145"
      unitRef="USD">63981000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825146"
      unitRef="USD">69988000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromBankDebt
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825147"
      unitRef="USD">27813000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825148"
      unitRef="USD">19951000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825149"
      unitRef="USD">31079000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825150"
      unitRef="USD">17292000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825151"
      unitRef="USD">10000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825152"
      unitRef="USD">9000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825153"
      unitRef="USD">159000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825154"
      unitRef="USD">227000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825155"
      unitRef="USD">10287000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825156"
      unitRef="USD">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825157"
      unitRef="USD">-11786000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825158"
      unitRef="USD">2002000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825159"
      unitRef="USD">853000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825160"
      unitRef="USD">872000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825161"
      unitRef="USD">-6975000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825162"
      unitRef="USD">-486000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825163"
      unitRef="USD">35587000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c100825164"
      unitRef="USD">41136000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825165"
      unitRef="USD">28612000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-06-30"
      decimals="-4"
      id="c100825166"
      unitRef="USD">40650000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:InterestPaidNet
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825169"
      unitRef="USD">3611000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825170"
      unitRef="USD">2616000</us-gaap:InterestPaidNet>
    <aaoi:IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825172"
      unitRef="USD">85000</aaoi:IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions>
    <aaoi:IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825173"
      unitRef="USD">-291000</aaoi:IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions>
    <aaoi:IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825174"
      unitRef="USD">-92000</aaoi:IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions>
    <aaoi:IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825175"
      unitRef="USD">41000</aaoi:IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2429999">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;1.&lt;/em&gt; &#160; Description of Business&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;Business Overview&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Applied Optoelectronics, Inc. (&#x201c;AOI&#x201d; or the &#x201c;Company&#x201d;) is a Delaware corporation. The Company is a leading, vertically integrated provider of fiber-optic networking products, primarily for &lt;em style="font: inherit;"&gt;four&lt;/em&gt; networking end-markets: cable television ("CATV"),&#160;internet data center, telecommunications ("telecom")&#160;and fiber-to-the-home ("FTTH"). The Company designs and manufactures a wide range of optical communications products at varying levels of integration, from components, subassemblies and modules to complete turn-key equipment.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The Company has manufacturing and research and development facilities located in the U.S., Taiwan and China. In the U.S., at its corporate headquarters and manufacturing facilities in Sugar Land, Texas, the Company primarily manufactures lasers and laser components and performs research and development activities for laser component and optical module products. In addition, the Company also has a research and development facility in Duluth, Georgia. The Company operates in Taipei, Taiwan and Ningbo, China through its wholly-owned subsidiary Prime World International Holdings, Ltd. (&#x201c;Prime World&#x201d;, incorporated in the British Virgin Islands). Prime World operates a branch in Taipei, Taiwan, which primarily manufactures transceivers and performs research and development activities for the transceiver products. Prime World is also the parent of Global Technology, Inc. (&#x201c;Global&#x201d;, incorporated in the People&#x2019;s Republic of China). Through Global, the Company primarily manufactures certain of its data center transceiver products, including subassemblies, as well as CATV systems and equipment, and performs research and development activities for the CATV products.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;Interim Financial Statements&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The unaudited condensed consolidated financial statements of the Company as of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt; and for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; June 30, 2022&lt;/em&gt;, have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) for interim information and with the instructions on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-Q and Rule &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-&lt;em style="font: inherit;"&gt;01&lt;/em&gt; of Regulation S-&lt;em style="font: inherit;"&gt;X&lt;/em&gt; pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;). In accordance with those rules and regulations, the Company has omitted certain information and notes required by GAAP for annual consolidated financial statements. In the opinion of management, the condensed consolidated financial statements contain all adjustments, except as otherwise noted, necessary for the fair presentation of the Company&#x2019;s financial position and results of operations for the periods presented. The year-end condensed balance sheet data was derived from audited financial statements. These condensed consolidated financial statements should be read in conjunction with the Consolidated Financial Statements and Notes thereto included in the Company&#x2019;s Annual Report on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-K (&#x201c;Annual Report&#x201d;) for the fiscal year ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;. The results of operations for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; necessarily indicative of the results expected for the entire fiscal year. All significant inter-company accounts and transactions have been eliminated.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;Use of Estimates&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts reported. Actual results could differ from those estimates in the consolidated financial statement&lt;span style="background-color:#ffffff;"&gt;s and accompanying notes. Significant estimates and assumptions that impact these financial statements and the accompanying notes relate to, among other things,&#160;allowance for doubtful accounts, inventory reserve, impairment of long-lived assets, service and product warranty costs, share-based compensation expense, estimated useful lives of property and equipment, and taxes.&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;"&gt;&lt;i&gt;Divestiture Agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;"&gt;On &lt;em style="font: inherit;"&gt; September 15, 2022, &lt;/em&gt;the Company entered into a definitive purchase agreement with Yuhan Optoelectronic Technology (Shanghai) Co., Ltd ("Purchaser"), which is a company incorporated in the People's Republic of China ("PRC"), to divest the Company's manufacturing facilities in PRC and certain assets related to its transceiver business and multi-channel optical sub-assembly products (collectively, the "Divestiture"). The closing of the transaction&#160;is subject to the satisfaction of certain closing conditions, including the approval from the Committee&#160;on Foreign Investment in the United States ("CFIUS").&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;"&gt;The purchase price will be an amount equal to the $150 million USD equivalent of Renminbi, less a holdback amount.&#160;Prior to the closing of the transaction the Company anticipates investing an amount equal to between 4% and 10% of the estimated proceeds from the transaction in exchange for a 10% equity interest in the Purchaser.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -1pt; text-indent: 36pt;"&gt;Our management has performed an evaluation as required by ASC-&lt;em style="font: inherit;"&gt;360&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10&lt;/em&gt;-&lt;em style="font: inherit;"&gt;45&lt;/em&gt;-&lt;em style="font: inherit;"&gt;9&lt;/em&gt; to determine whether to classify certain of our assets and liabilities as held for sale as of&#160;&#160;&lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;. ASC &lt;em style="font: inherit;"&gt;360&lt;/em&gt; requires that a company classifies a business as held for sale in the period in which management commits to a plan to sell the business, the business is available for immediate sale in its present condition, an active program to complete the plan to sell the business is initiated, the sale of the business within &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year is probable and the business is being marketed at a reasonable price in relation to its fair value. Although we have announced the execution of a definitive purchase agreement regarding the Divestiture, completion of this transaction is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; certain for reasons that include the fact that the proposed sale is subject to regulatory approval in the US and China, the timing and likelihood of which is uncertain and beyond our control, and the fact that we cannot be certain that the buyer will &lt;em style="font: inherit;"&gt;not&lt;/em&gt; request modification of terms within the definitive purchase agreement. As a result, we have concluded that at the present time the business is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; "available for immediate sale" under the meaning defined in ASC &lt;em style="font: inherit;"&gt;360&lt;/em&gt; and therefore &lt;em style="font: inherit;"&gt;none&lt;/em&gt; of our assets or liabilities should be classified as held for sale.&lt;/p&gt;
   &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;&#160;&lt;/p&gt;

  </us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember"
      decimals="-7"
      id="c100825188"
      unitRef="USD">150000000</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <aaoi:PercentageOfEstimatedProceedsFromDivestitureOfBusiness
      contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MinimumMember"
      decimals="2"
      id="c100825189"
      unitRef="Pure">0.04</aaoi:PercentageOfEstimatedProceedsFromDivestitureOfBusiness>
    <aaoi:PercentageOfEstimatedProceedsFromDivestitureOfBusiness
      contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember_RangeAxis-MaximumMember"
      decimals="1"
      id="c100825190"
      unitRef="Pure">0.10</aaoi:PercentageOfEstimatedProceedsFromDivestitureOfBusiness>
    <aaoi:BusinessDivestiturePercentageOfEquityInterestsExchanged
      contextRef="i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember"
      decimals="1"
      id="c100825191"
      unitRef="Pure">0.10</aaoi:BusinessDivestiturePercentageOfEquityInterestsExchanged>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430000">
   &lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;2.&lt;/em&gt;&#160; Significant Accounting Policies&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;There have been &lt;em style="font: inherit;"&gt;no&lt;/em&gt; changes in the Company&#x2019;s significant accounting policies for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, as compared to the significant accounting policies described in its &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; Annual Report.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"&gt;Recent Accounting Pronouncements&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;&#x200b;&lt;/span&gt;&lt;i&gt;&lt;span style="background-color:#ffffff;"&gt;&#x200b;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;&lt;span style="background-color:#ffffff;"&gt;Recent Accounting Pronouncements Yet to be Adopted&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;To date, there have been&#160;&lt;em style="font: inherit;"&gt;no&lt;/em&gt;&#160;recent accounting&lt;/span&gt; pronouncement&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;yet effective that have significance, or potential significance, to our Consolidated Financial Statements.&#160;&lt;/p&gt;&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&lt;/p&gt;
  </us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="d_2023-01-01_2023-06-30" id="c100827669">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"&gt;Recent Accounting Pronouncements&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:0pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;&#x200b;&lt;/span&gt;&lt;i&gt;&lt;span style="background-color:#ffffff;"&gt;&#x200b;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;&lt;span style="background-color:#ffffff;"&gt;Recent Accounting Pronouncements Yet to be Adopted&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;To date, there have been&#160;&lt;em style="font: inherit;"&gt;no&lt;/em&gt;&#160;recent accounting&lt;/span&gt; pronouncement&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;yet effective that have significance, or potential significance, to our Consolidated Financial Statements.&#160;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430001">
   &lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;3.&lt;/em&gt;&#160; Revenue Recognition&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;i&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;"&gt;Revenue is classified based on the location where the product is manufactured. For additional information on the disaggregated revenues by geographical region, see Note &lt;em style="font: inherit;"&gt;17,&lt;/em&gt; "Geographic Information.&#x201d;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;"&gt;Revenue is also classified by major product category and is presented below (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;CATV&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,343&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;22.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;23,713&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;45.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Data Center&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;27,571&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;66.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;21,497&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;41.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Telecom&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,231&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;10.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;6,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;12.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;FTTH&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;55&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;27&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;415&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;786&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total Revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;41,615&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;52,299&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;CATV&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37,123&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;39.2&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;48,694&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;46.6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Data Center&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;47,924&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;50.6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;42,911&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;41.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Telecom&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,938&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8.4&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,541&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;FTTH&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;57&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;124&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,603&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,270&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total Revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,645&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;104,540&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;i&gt;Unearned Revenue&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;"&gt;We record unearned revenues when cash payments are received or due in advance of our performance, including amounts which are refundable. Unearned revenues solely relate to Microsoft's SOW contract prices allocated to the performance obligations that are unsatisfied, or partially unsatisfied, as of the balance sheet date. Unearned revenue balance as of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;&#160;was $11.7 million&#160;and $3 million, respectively. For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, revenue recognized from the unearned revenue balance&#160;wa&lt;span style="background-color:#ffffff"&gt;s $0.9&#160;million &lt;/span&gt;and $0&#160;million, respectively. For the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, revenue recognized from the unearned revenue balance&#160;wa&lt;span style="background-color:#ffffff"&gt;s $1.2&#160;million &lt;/span&gt;and $0&#160;million, respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;text-indent:36pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:Times New Roman;font-size:1pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
  </us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="d_2023-01-01_2023-06-30"
      id="B8CA7F81-D258-46FD-B262-96AFE5C3022F">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;CATV&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,343&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;22.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;23,713&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;45.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Data Center&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;27,571&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;66.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;21,497&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;41.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Telecom&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,231&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;10.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;6,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;12.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;FTTH&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;55&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;27&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;415&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;786&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total Revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;41,615&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;52,299&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;% of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Revenue&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;CATV&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37,123&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;39.2&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;48,694&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;46.6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Data Center&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;47,924&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;50.6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;42,911&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;41.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Telecom&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,938&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8.4&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,541&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;FTTH&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;57&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;124&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;0.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,603&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.7&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,270&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1.3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total Revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,645&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;104,540&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;100.0&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-CATVMember"
      decimals="-3"
      id="c100825266"
      unitRef="USD">9343000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-CATVMember"
      decimals="3"
      id="c100825267"
      unitRef="Pure">0.225</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-CATVMember"
      decimals="-3"
      id="c100825268"
      unitRef="USD">23713000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-CATVMember"
      decimals="3"
      id="c100825269"
      unitRef="Pure">0.453</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="-3"
      id="c100825270"
      unitRef="USD">27571000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="3"
      id="c100825271"
      unitRef="Pure">0.662</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="-3"
      id="c100825272"
      unitRef="USD">21497000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="3"
      id="c100825273"
      unitRef="Pure">0.411</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="-3"
      id="c100825274"
      unitRef="USD">4231000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="3"
      id="c100825275"
      unitRef="Pure">0.102</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="-3"
      id="c100825276"
      unitRef="USD">6276000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="2"
      id="c100825277"
      unitRef="Pure">0.120</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="-3"
      id="c100825278"
      unitRef="USD">55000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="3"
      id="c100825279"
      unitRef="Pure">0.001</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="-3"
      id="c100825280"
      unitRef="USD">27000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="3"
      id="c100825281"
      unitRef="Pure">0.001</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="-3"
      id="c100825282"
      unitRef="USD">415000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-04-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="2"
      id="c100825283"
      unitRef="Pure">0.010</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="-3"
      id="c100825284"
      unitRef="USD">786000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-04-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="3"
      id="c100825285"
      unitRef="Pure">0.015</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825286"
      unitRef="USD">41615000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-04-01_2023-06-30"
      decimals="0"
      id="c100825287"
      unitRef="Pure">1.000</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825288"
      unitRef="USD">52299000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-04-01_2022-06-30"
      decimals="0"
      id="c100825289"
      unitRef="Pure">1.000</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-CATVMember"
      decimals="-3"
      id="c100825302"
      unitRef="USD">37123000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-CATVMember"
      decimals="3"
      id="c100825303"
      unitRef="Pure">0.392</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-CATVMember"
      decimals="-3"
      id="c100825304"
      unitRef="USD">48694000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-CATVMember"
      decimals="3"
      id="c100825305"
      unitRef="Pure">0.466</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="-3"
      id="c100825306"
      unitRef="USD">47924000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="3"
      id="c100825307"
      unitRef="Pure">0.506</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="-3"
      id="c100825308"
      unitRef="USD">42911000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-DataCenterMember"
      decimals="2"
      id="c100825309"
      unitRef="Pure">0.410</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="-3"
      id="c100825310"
      unitRef="USD">7938000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="3"
      id="c100825311"
      unitRef="Pure">0.084</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="-3"
      id="c100825312"
      unitRef="USD">11541000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-TelecomMember"
      decimals="2"
      id="c100825313"
      unitRef="Pure">0.110</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="-3"
      id="c100825314"
      unitRef="USD">57000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="3"
      id="c100825315"
      unitRef="Pure">0.001</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="-3"
      id="c100825316"
      unitRef="USD">124000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-FTTHMember"
      decimals="3"
      id="c100825317"
      unitRef="Pure">0.001</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="-3"
      id="c100825318"
      unitRef="USD">1603000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-01-01_2023-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="3"
      id="c100825319"
      unitRef="Pure">0.017</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="-4"
      id="c100825320"
      unitRef="USD">1270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-01-01_2022-06-30_ProductOrServiceAxis-ProductAndServiceOtherMember"
      decimals="3"
      id="c100825321"
      unitRef="Pure">0.013</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825322"
      unitRef="USD">94645000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2023-01-01_2023-06-30"
      decimals="0"
      id="c100825323"
      unitRef="Pure">1.000</aaoi:PercentageOfRevenue>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100825324"
      unitRef="USD">104540000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <aaoi:PercentageOfRevenue
      contextRef="d_2022-01-01_2022-06-30"
      decimals="0"
      id="c100825325"
      unitRef="Pure">1.000</aaoi:PercentageOfRevenue>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2023-06-30"
      decimals="-5"
      id="c100825243"
      unitRef="USD">11700000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2022-12-31"
      decimals="-6"
      id="c100825244"
      unitRef="USD">3000000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-5"
      id="c100825247"
      unitRef="USD">900000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825248"
      unitRef="USD">0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-5"
      id="c100825251"
      unitRef="USD">1200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825252"
      unitRef="USD">0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <aaoi:LesseeOperatingAndFinanceLeasesTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430004">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;4.&lt;/em&gt;&#160; Leases&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Company leases space under non-cancellable operating leases for manufacturing facilities, research and development offices and certain storage facilities and apartments. These leases do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; contain contingent rent provisions. The Company also leases certain machinery, office equipment and a vehicle under an operating lease. Many of its leases include both lease (e.g. fixed payments including rent, taxes, and insurance costs) and non-lease components (e.g. common-area or other maintenance costs) which are accounted for as a single lease component as the Company has elected the practical expedient to group lease and non-lease components for all leases. Several of the leases include &lt;em style="font: inherit;"&gt;one&lt;/em&gt; or more options to renew which have been assessed and either included or excluded from the calculation of the lease liability of the right of use ("ROU") asset based on management&#x2019;s intentions and individual fact patterns. Several warehouses and apartments have non-cancellable lease terms of less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt;-year and therefore, the Company has elected the practical expedient to exclude these short-term leases from its ROU asset and lease liabilities.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;As most of the Company&#x2019;s leases do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; provide an implicit rate, the Company uses its incremental borrowing rate, which is the rate incurred to borrow on a collateralized basis over a similar term an amount equal to the lease payments in a similar economic environment. Based on the applicable lease terms and current economic environment, the Company applies a location approach for determining the incremental borrowing rate.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;&#160;&lt;/p&gt;
   &lt;div style="font-size: 10pt;"&gt;
    &lt;span style="background-color: rgb(255, 255, 255);"&gt;&lt;span style="font-family: Times New Roman;"&gt;Lease expense is included under general and administrative expenses and was $0.3 million and $0.6 million each for the&#160;&lt;/span&gt;&lt;/span&gt;
    &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;
    &lt;span style="font-family: Times New Roman;"&gt;&#160;and&#160;&lt;/span&gt;
    &lt;em style="font: inherit;"&gt; June 30, 2022&lt;/em&gt;
    &lt;span style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;, respectively. Th&lt;/span&gt;
    &lt;span style="font-family: Times New Roman;"&gt;e components of lease expense were as follows for the periods indicated (&lt;/span&gt;
    &lt;span style="font-family: Times New Roman;"&gt;in thousands):&lt;/span&gt;
   &lt;/div&gt;
   &lt;p style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;281&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;293&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;565&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;598&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Financing lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Short Term lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;21&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;292&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;318&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;587&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;635&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Maturities of lease liabilities are as follows for the future &lt;em style="font: inherit;"&gt;one&lt;/em&gt;-year periods ending&#160;&lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Operating&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Financing&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,024&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;54&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,246&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,219&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,056&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2028&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,078&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2029 and thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,261&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6,884&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;54&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less imputed interest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(681&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Present value&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;6,203&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;53&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The weighted average remaining lease term and discount rate for the&#160;leases were as follows for the periods indicated:&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Remaining Lease Term (Years) - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.65&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.67&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Remaining Lease Term (Years) - financing leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;0.33&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1.33&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Discount Rate - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.22&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Discount Rate - financing leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.00&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.00&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Supplemental cash flow information related to the&#160;leases was as follows for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;311&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;622&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from financing lease&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Financing cash flows from financing lease&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;


  </aaoi:LesseeOperatingAndFinanceLeasesTextBlock>
    <us-gaap:LeaseCost
      contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"
      decimals="-5"
      id="c100825331"
      unitRef="USD">300000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember"
      decimals="-5"
      id="c100825333"
      unitRef="USD">600000</us-gaap:LeaseCost>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="d_2023-01-01_2023-06-30"
      id="BE1DA7C5-3CF0-48C2-BD61-9F14CC252FDB">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;281&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;293&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;565&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;598&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Financing lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;16&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Short Term lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;17&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;21&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total lease expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;292&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;318&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;587&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;635&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Remaining Lease Term (Years) - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.65&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.67&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Remaining Lease Term (Years) - financing leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;0.33&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1.33&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Discount Rate - operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.20&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.22&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Weighted Average Discount Rate - financing leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.00&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.00&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;311&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;622&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from financing lease&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Financing cash flows from financing lease&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825347"
      unitRef="USD">281000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825348"
      unitRef="USD">293000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825349"
      unitRef="USD">565000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825350"
      unitRef="USD">598000</us-gaap:OperatingLeaseExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825351"
      unitRef="USD">8000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825352"
      unitRef="USD">8000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825353"
      unitRef="USD">16000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825354"
      unitRef="USD">16000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825355"
      unitRef="USD">3000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825356"
      unitRef="USD">17000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825357"
      unitRef="USD">6000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825358"
      unitRef="USD">21000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825359"
      unitRef="USD">292000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825360"
      unitRef="USD">318000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825361"
      unitRef="USD">587000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825362"
      unitRef="USD">635000</us-gaap:LeaseCost>
    <aaoi:LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430006">
    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Operating&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Financing&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,024&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;54&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,246&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,219&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,056&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2028&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,078&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2029 and thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,261&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6,884&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;54&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less imputed interest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(681&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Present value&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;6,203&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;53&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </aaoi:LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825365"
      unitRef="USD">1024000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825366"
      unitRef="USD">54000</us-gaap:FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825367"
      unitRef="USD">1246000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearTwo
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825368"
      unitRef="USD">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825369"
      unitRef="USD">1219000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearThree
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825370"
      unitRef="USD">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825371"
      unitRef="USD">1056000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFour
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825372"
      unitRef="USD">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825373"
      unitRef="USD">1078000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFive
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825374"
      unitRef="USD">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825375"
      unitRef="USD">1261000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825376"
      unitRef="USD">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825377"
      unitRef="USD">6884000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825378"
      unitRef="USD">54000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825379"
      unitRef="USD">681000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825380"
      unitRef="USD">1000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825381"
      unitRef="USD">6203000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825382"
      unitRef="USD">53000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2023-06-30" id="c100825387">P5Y7M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2022-06-30" id="c100825388">P6Y8M1D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2023-06-30" id="c100825389">P0Y3M29D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2022-06-30" id="c100825390">P1Y3M29D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2023-06-30"
      decimals="3"
      id="c100825391"
      unitRef="Pure">0.0320</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2022-06-30"
      decimals="4"
      id="c100825392"
      unitRef="Pure">0.0322</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2023-06-30"
      decimals="2"
      id="c100825393"
      unitRef="Pure">0.0500</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2022-06-30"
      decimals="2"
      id="c100825394"
      unitRef="Pure">0.0500</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825400"
      unitRef="USD">311000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825401"
      unitRef="USD">622000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825402"
      unitRef="USD">1000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825403"
      unitRef="USD">2000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825404"
      unitRef="USD">10000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825405"
      unitRef="USD">9000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:CashAndCashEquivalentsDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430009">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;5.&lt;/em&gt;&#160; Cash, Cash Equivalents and Restricted Cash&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The following table provides a reconciliation of c&lt;span style="background-color:#ffffff;"&gt;ash, cash equivalents and r&lt;/span&gt;estricted cash reported within the statement of financial position that sum to the total of the same such amounts in the statement of cash flows (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Cash and cash equivalents&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;21,578&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;24,685&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Restricted cash&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,034&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,902&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Total cash, cash equivalents and restricted cash shown in the statement of cash flows&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;28,612&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;35,587&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Restricted cash includes guarantee deposits for customs duties, China government subsidy fund,&#160;and compensating balances associated&#160;with&#160;certain credit facilities. As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, there was $3.9&#160;million and $8.7&#160;million&#160;of restricted cash required for bank acceptance notes issued to vendors, respectively. In addition, there was $1.9&#160;million and $1.1&#160;million certificate of deposit associated with credit facilities with a bank in China as of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, respectively. There was $0.7&#160;million and $1.0 million guarantee deposits for customs duties as of&#160;&lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, respectively.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
  </us-gaap:CashAndCashEquivalentsDisclosureTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430010">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Cash and cash equivalents&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;21,578&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;24,685&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Restricted cash&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,034&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,902&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Total cash, cash equivalents and restricted cash shown in the statement of cash flows&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;28,612&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;35,587&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825421"
      unitRef="USD">21578000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825422"
      unitRef="USD">24685000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825423"
      unitRef="USD">7034000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825424"
      unitRef="USD">10902000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825425"
      unitRef="USD">28612000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825426"
      unitRef="USD">35587000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember"
      decimals="-5"
      id="c100825407"
      unitRef="USD">3900000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-BankersAcceptanceMember"
      decimals="-5"
      id="c100825408"
      unitRef="USD">8700000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue
      contextRef="i_2023-06-30_StatementGeographicalAxis-CN"
      decimals="-5"
      id="c100825409"
      unitRef="USD">1900000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue
      contextRef="i_2022-12-31_StatementGeographicalAxis-CN"
      decimals="-5"
      id="c100825410"
      unitRef="USD">1100000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-06-30_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember"
      decimals="-5"
      id="c100825411"
      unitRef="USD">700000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis-GuaranteeDepositsForCustomsDutiesMember"
      decimals="-6"
      id="c100825412"
      unitRef="USD">1000000.0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:EarningsPerShareTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430011">
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;6.&lt;/em&gt;&#160; Earnings (Loss) Per Share&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Basic net loss per share has been computed using the weighted-average number of shares of common stock outstanding during the period. Diluted net loss per share has been computed using the weighted-average number of shares of common stock and dilutive potential common shares from stock options, restricted stock units and senior convertible notes outstanding during the period. In periods with net losses, normally dilutive shares become anti-dilutive. Therefore, basic and diluted loss per share are the same.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The following table sets forth the computation of the basic and diluted net loss per share for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Numerator:&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net loss&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(16,944&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(14,456&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(33,237&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(30,518&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Denominator:&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Weighted average shares used to compute net loss per share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Basic&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,612&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,182&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,537&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Diluted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,612&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,182&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,537&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net loss per share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Basic&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.57&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.52&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.14&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.11&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Diluted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.57&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.52&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.14&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.11&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The following potentially dilutive securities were excluded from the diluted net loss per share as their effect would have been antidilutive (in thousands):&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Employee stock options&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Restricted stock units&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;498&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;473&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Shares for convertible senior notes&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total antidilutive shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,085&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,060&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
  </us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430012">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Numerator:&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net loss&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(16,944&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(14,456&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(33,237&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(30,518&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Denominator:&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Weighted average shares used to compute net loss per share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Basic&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,612&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,182&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,537&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Diluted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,489&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,612&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;29,182&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;27,537&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net loss per share&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Basic&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.57&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.52&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.14&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.11&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Diluted&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.57&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(0.52&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.14&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(1.11&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825437"
      unitRef="USD">-16944000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825438"
      unitRef="USD">-14456000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825439"
      unitRef="USD">-33237000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825440"
      unitRef="USD">-30518000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825443"
      unitRef="Share">29489000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825444"
      unitRef="Share">27612000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825445"
      unitRef="Share">29182000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825446"
      unitRef="Share">27537000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825447"
      unitRef="Share">29489000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825448"
      unitRef="Share">27612000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825449"
      unitRef="Share">29182000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825450"
      unitRef="Share">27537000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100825452"
      unitRef="USDPerShare">-0.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c100825453"
      unitRef="USDPerShare">-0.52</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100825454"
      unitRef="USDPerShare">-1.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c100825455"
      unitRef="USDPerShare">-1.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2023-04-01_2023-06-30"
      decimals="INF"
      id="c100825456"
      unitRef="USDPerShare">-0.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c100825457"
      unitRef="USDPerShare">-0.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100825458"
      unitRef="USDPerShare">-1.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-06-30"
      decimals="INF"
      id="c100825459"
      unitRef="USDPerShare">-1.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430013">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Employee stock options&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Restricted stock units&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;498&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"&gt;&#x2014;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;473&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Shares for convertible senior notes&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total antidilutive shares&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,085&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,060&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,587&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c100825468"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c100825470"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c100825471"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100825472"
      unitRef="Share">498000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100825474"
      unitRef="Share">473000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100825475"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-04-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"
      decimals="-3"
      id="c100825476"
      unitRef="Share">4587000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-04-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"
      decimals="-3"
      id="c100825477"
      unitRef="Share">4587000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-01-01_2023-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"
      decimals="-3"
      id="c100825478"
      unitRef="Share">4587000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-06-30_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-ConvertibleDebtSecuritiesMember"
      decimals="-3"
      id="c100825479"
      unitRef="Share">4587000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825480"
      unitRef="Share">5085000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825481"
      unitRef="Share">4587000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-4"
      id="c100825482"
      unitRef="Share">5060000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825483"
      unitRef="Share">4587000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:InventoryDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430014">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;7.&lt;/em&gt;&#160; Inventories&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Inventories, net of inventory write-downs, consist of the following for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;25,194&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;25,732&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Work in process and sub-assemblies&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;32,287&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;39,563&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,840&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;14,384&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Total inventories&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;66,321&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;79,679&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;"&gt;&#160; &#160; &#160; &#160; &#160;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months&#160;ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;,&#160;the inventory reserve adjustment expensed for inventory was $2.4&#160;million, and $0.4 million, respectively.&#160;For the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months&#160;ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;,&#160;the inventory reserve adjustment expensed for inventory was $5.0 million, and $2.4&#160;million, respectively.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;For&#160;the&#160;&lt;em style="font: inherit;"&gt;three&lt;/em&gt;&#160;months&#160;ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;,&#160;the&#160;direct&#160;inventory write-offs related to scrap, discontinued products, and damaged inventories were $3.1 million and $1.8 million, respectively.&#160;For&#160;the&#160;&lt;em style="font: inherit;"&gt;six&lt;/em&gt; months&#160;ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;,&#160;the&#160;direct&#160;inventory&#160;write-offs&#160;related&#160;to&#160;scrap,&#160;discontinued products,&#160;and&#160;damaged&#160;inventories&#160;were&#160;$6.9 million and $2.7 million, respectively.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;span style="background-color:#ffffff;"&gt;&#x200b; &lt;/span&gt;&lt;/p&gt;


  </us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430015">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;25,194&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;25,732&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Work in process and sub-assemblies&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;32,287&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;39,563&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,840&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;14,384&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Total inventories&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;66,321&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;79,679&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825505"
      unitRef="USD">25194000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825506"
      unitRef="USD">25732000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825507"
      unitRef="USD">32287000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825508"
      unitRef="USD">39563000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100825509"
      unitRef="USD">8840000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825510"
      unitRef="USD">14384000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825511"
      unitRef="USD">66321000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825512"
      unitRef="USD">79679000</us-gaap:InventoryNet>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-5"
      id="c100825487"
      unitRef="USD">2400000</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c100825488"
      unitRef="USD">400000</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-6"
      id="c100825491"
      unitRef="USD">5000000.0</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:InventoryLIFOReservePeriodCharge
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c100825492"
      unitRef="USD">2400000</us-gaap:InventoryLIFOReservePeriodCharge>
    <us-gaap:InventoryWriteDown
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-5"
      id="c100825495"
      unitRef="USD">3100000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c100825496"
      unitRef="USD">1800000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-5"
      id="c100825499"
      unitRef="USD">6900000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c100825500"
      unitRef="USD">2700000</us-gaap:InventoryWriteDown>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430016">
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;8.&lt;/em&gt;&#160; Property, Plant &amp;amp; Equipment&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Property, plant and equipment consisted of the following for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;806&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;806&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;85,342&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;86,372&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;247,242&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;251,216&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Furniture and fixtures&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,346&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,382&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Computer equipment and software&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;11,587&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;11,713&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Transportation equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;661&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;350,984&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;356,168&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less accumulated depreciation and amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(183,479&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(177,519&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;167,505&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;178,649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Construction in progress&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;29,273&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;30,434&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,101&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,101&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total property, plant and equipment, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;197,879&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;210,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, the depreciation expense of property, plant and equipment wa&lt;span style="background-color:#ffffff;"&gt;s $5.0&#160;million &lt;/span&gt;and $5.7 million, respectively. For the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, the depreciation expense of property, plant and equipment wa&lt;span style="background-color:#ffffff"&gt;s $10.2 million &lt;/span&gt;and $11.7 million, respectively. For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;,&#160;the capitalized interest was $0&#160;million and $0.2&#160;million, respectively.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;&lt;i&gt;&lt;span style="background-color:null;"&gt;, &lt;/span&gt;&lt;/i&gt;&lt;span style="background-color:null;"&gt;the Company concluded that its continued loss history constitutes a triggering event as described in ASC &lt;/span&gt;&lt;i&gt;&lt;span style="background-color:null;"&gt;&lt;em style="font: inherit;"&gt;360&lt;/em&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color:null;"&gt;-&lt;/span&gt;&lt;i&gt;&lt;span style="background-color:null;"&gt;&lt;em style="font: inherit;"&gt;10&lt;/em&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color:null;"&gt;-&lt;/span&gt;&lt;i&gt;&lt;span style="background-color:null;"&gt;&lt;em style="font: inherit;"&gt;35&lt;/em&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color:null;"&gt;-&lt;/span&gt;&lt;i&gt;&lt;span style="background-color:null;"&gt;&lt;em style="font: inherit;"&gt;21,&lt;/em&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="background-color:null;"&gt;Property, Plant, and Equipment&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color:null;"&gt;.&#160; The Company performed a recoverability test and concluded that future undiscounted cash flows exceed the carrying amount of the Company&#x2019;s long-lived assets and therefore no impairment charge was recorded.&#160;&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
  </us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430017">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;806&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;806&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;85,342&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;86,372&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;247,242&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;251,216&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Furniture and fixtures&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,346&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,382&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Computer equipment and software&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;11,587&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;11,713&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Transportation equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;661&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;350,984&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;356,168&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less accumulated depreciation and amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(183,479&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(177,519&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;167,505&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;178,649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Construction in progress&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;29,273&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;30,434&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,101&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,101&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total property, plant and equipment, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;197,879&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;210,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember"
      decimals="-3"
      id="c100825535"
      unitRef="USD">806000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember"
      decimals="-3"
      id="c100825536"
      unitRef="USD">806000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"
      decimals="-3"
      id="c100825537"
      unitRef="USD">85342000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"
      decimals="-3"
      id="c100825538"
      unitRef="USD">86372000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"
      decimals="-3"
      id="c100825539"
      unitRef="USD">247242000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"
      decimals="-3"
      id="c100825540"
      unitRef="USD">251216000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember"
      decimals="-3"
      id="c100825541"
      unitRef="USD">5346000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember"
      decimals="-3"
      id="c100825542"
      unitRef="USD">5382000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember"
      decimals="-3"
      id="c100825543"
      unitRef="USD">11587000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentAndSoftwareMember"
      decimals="-3"
      id="c100825544"
      unitRef="USD">11713000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"
      decimals="-3"
      id="c100825545"
      unitRef="USD">661000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"
      decimals="-3"
      id="c100825546"
      unitRef="USD">679000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825547"
      unitRef="USD">350984000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825548"
      unitRef="USD">356168000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825549"
      unitRef="USD">183479000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825550"
      unitRef="USD">177519000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <aaoi:PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825551"
      unitRef="USD">167505000</aaoi:PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand>
    <aaoi:PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825552"
      unitRef="USD">178649000</aaoi:PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"
      decimals="-3"
      id="c100825553"
      unitRef="USD">29273000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"
      decimals="-3"
      id="c100825554"
      unitRef="USD">30434000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2023-06-30_PropertyPlantAndEquipmentByTypeAxis-LandMember"
      decimals="-3"
      id="c100825555"
      unitRef="USD">1101000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandMember"
      decimals="-3"
      id="c100825556"
      unitRef="USD">1101000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825557"
      unitRef="USD">197879000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825558"
      unitRef="USD">210184000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-6"
      id="c100825516"
      unitRef="USD">5000000.0</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c100825517"
      unitRef="USD">5700000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-5"
      id="c100825520"
      unitRef="USD">10200000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-5"
      id="c100825521"
      unitRef="USD">11700000</us-gaap:Depreciation>
    <us-gaap:InterestPaidCapitalized
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825524"
      unitRef="USD">0</us-gaap:InterestPaidCapitalized>
    <us-gaap:InterestPaidCapitalized
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-5"
      id="c100825525"
      unitRef="USD">200000</us-gaap:InterestPaidCapitalized>
    <us-gaap:AssetImpairmentCharges
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825530"
      unitRef="USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430018">
   &lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;9.&lt;/em&gt;&#160; Intangible Assets, net&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Intangible assets consisted of the following for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Accumulated&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intangible&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Amount&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;amortization&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;assets, net&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Patents&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;9,216&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(5,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,576&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Trademarks&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;74&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;49&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,290&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(5,665&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,625&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Accumulated&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intangible&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Amount&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;amortization&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;assets, net&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Patents&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;8,994&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(5,330&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Trademarks&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,050&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(5,351&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,699&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, amortization expense for intangible assets, included in general and administrative expenses on the statement of operations, was each $0.2&#160;million. For the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, amortization expense for intangible assets, included in general and administrative expenses on the statement of operations, was each $0.3&#160;million.&#160;The remaining weighted average amortization period for intangible assets is approxi&lt;span style="background-color:#ffffff;"&gt;mately 5.6&#160;years.&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;At &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;,&#160;future amortization expense for intangible assets for future &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year periods is estimated to be (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;646&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2028&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2029 and thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;383&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,625&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="d_2023-01-01_2023-06-30"
      id="c9DB16D6F-9AD6-4E53-BF4E-938F38DAE964">
    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Accumulated&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intangible&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Amount&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;amortization&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;assets, net&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Patents&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;9,216&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(5,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,576&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Trademarks&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;74&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;49&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,290&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(5,665&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,625&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 46%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Accumulated&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intangible&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Amount&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;amortization&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;assets, net&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Patents&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;8,994&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(5,330&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Trademarks&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;9,050&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(5,351&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,699&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"
      decimals="-3"
      id="c100825589"
      unitRef="USD">9216000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"
      decimals="-4"
      id="c100825590"
      unitRef="USD">5640000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"
      decimals="-3"
      id="c100825591"
      unitRef="USD">3576000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"
      decimals="-3"
      id="c100825592"
      unitRef="USD">74000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"
      decimals="-3"
      id="c100825593"
      unitRef="USD">25000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2023-06-30_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"
      decimals="-3"
      id="c100825594"
      unitRef="USD">49000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100825595"
      unitRef="USD">9290000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825596"
      unitRef="USD">5665000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825597"
      unitRef="USD">3625000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"
      decimals="-3"
      id="c100825607"
      unitRef="USD">8994000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"
      decimals="-4"
      id="c100825608"
      unitRef="USD">5330000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsMember"
      decimals="-3"
      id="c100825609"
      unitRef="USD">3664000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"
      decimals="-3"
      id="c100825610"
      unitRef="USD">56000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"
      decimals="-3"
      id="c100825611"
      unitRef="USD">21000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TrademarksMember"
      decimals="-3"
      id="c100825612"
      unitRef="USD">35000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c100825613"
      unitRef="USD">9050000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825614"
      unitRef="USD">5351000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825615"
      unitRef="USD">3699000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-5"
      id="c100825562"
      unitRef="USD">200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-5"
      id="c100825566"
      unitRef="USD">300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="i_2023-06-30" id="c100825567">P5Y7M6D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430021">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;646&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2028&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;2029 and thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;383&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,625&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825616"
      unitRef="USD">646000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825618"
      unitRef="USD">649000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825619"
      unitRef="USD">649000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825620"
      unitRef="USD">649000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825621"
      unitRef="USD">649000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825622"
      unitRef="USD">383000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825623"
      unitRef="USD">3625000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430022">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -36pt; text-indent: 36pt;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;10.&lt;/em&gt;&#160; Fair Value of Financial Instruments&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The carrying value amounts of cash and cash equivalents, restricted cash, accounts receivable, prepaid expenses, notes receivable and other current assets, accounts payable, accrued expenses, bank acceptance payable&#160;and other current liabilities approximate fair value because of the short-term maturity of these instruments.&#160;The Company believes that the interest rates in effect at each period end represent the current market rates for similar borrowings.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The fair value of convertible senior notes is measured for disclosure purposes only. The fair value and carrying amount of our convertible senior notes as of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;&#160;was $65.9&#160;million and $79.9&#160;million, respectively. As of &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the&#160;fair value and carrying amount of our convertible senior notes was $58.3 million and $79.5 million, respectively.&#160;The fair value is based on observable market prices for this debt, which is traded in less active markets and are therefore classified as a Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt; fair value measurement.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt 0pt -2pt; text-align: left; text-indent: 36pt;"&gt;&#160;&#160;&lt;/p&gt;


  </us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ConvertibleDebtFairValueDisclosures
      contextRef="i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember"
      decimals="-5"
      id="c100825625"
      unitRef="USD">65900000</us-gaap:ConvertibleDebtFairValueDisclosures>
    <us-gaap:ConvertibleDebt
      contextRef="i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember"
      decimals="-5"
      id="c100825626"
      unitRef="USD">79900000</us-gaap:ConvertibleDebt>
    <us-gaap:ConvertibleDebtFairValueDisclosures
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-SeniorNotesMember"
      decimals="-5"
      id="c100825627"
      unitRef="USD">58300000</us-gaap:ConvertibleDebtFairValueDisclosures>
    <us-gaap:ConvertibleDebt
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-SeniorNotesMember"
      decimals="-5"
      id="c100825628"
      unitRef="USD">79500000</us-gaap:ConvertibleDebt>
    <us-gaap:DebtDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430023">
   &lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;11.&lt;/em&gt;&#160; Notes Payable and Long-Term Debt&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Notes payable and long-term debt consisted of the following for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 102px;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Revolving line of credit with a U.S. bank up to $&lt;span style="-sec-ix-hidden:c100825693"&gt;&lt;span style="-sec-ix-hidden:c100825694"&gt;27.780&lt;/span&gt;&lt;/span&gt; million with interest at &lt;span style="-sec-ix-hidden:c100825695"&gt;&lt;span style="-sec-ix-hidden:c100825696"&gt;9.663&lt;/span&gt;&lt;/span&gt;%, maturing the earlier of either &lt;span style="-sec-ix-hidden:c100825697"&gt;&lt;span style="-sec-ix-hidden:c100825698"&gt;12/14/2023&lt;/span&gt;&lt;/span&gt; or &lt;span style="-sec-ix-hidden:c100825699"&gt;&lt;span style="-sec-ix-hidden:c100825700"&gt;11/16/2025&lt;/span&gt;&lt;/span&gt; if the convertible debt remains in effect&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;5,830&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;25,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Revolving line of credit with a China bank up to $&lt;span style="-sec-ix-hidden:c100825703"&gt;&lt;span style="-sec-ix-hidden:c100825704"&gt;19,037&lt;/span&gt;&lt;/span&gt; with interest from &lt;span style="-sec-ix-hidden:c100825705"&gt;&lt;span style="-sec-ix-hidden:c100825706"&gt;4.57&lt;/span&gt;&lt;/span&gt;% to &lt;span style="-sec-ix-hidden:c100825707"&gt;&lt;span style="-sec-ix-hidden:c100825708"&gt;6.12&lt;/span&gt;&lt;/span&gt;%, maturing &lt;span style="-sec-ix-hidden:c100825709"&gt;&lt;span style="-sec-ix-hidden:c100825710"&gt;May 24, 2024&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;13,757&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;13,102&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Credit facility with a China bank up to $&lt;span style="-sec-ix-hidden:c100825713"&gt;&lt;span style="-sec-ix-hidden:c100825714"&gt;26,651&lt;/span&gt;&lt;/span&gt; with interest of &lt;span style="-sec-ix-hidden:c100825715"&gt;&lt;span style="-sec-ix-hidden:c100825716"&gt;4.45&lt;/span&gt;&lt;/span&gt;% ~ &lt;span style="-sec-ix-hidden:c100825717"&gt;&lt;span style="-sec-ix-hidden:c100825718"&gt;6.6&lt;/span&gt;&lt;/span&gt;%, maturing &lt;span style="-sec-ix-hidden:c100825719"&gt;&lt;span style="-sec-ix-hidden:c100825720"&gt;June 6, 2027&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;18,683&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;20,140&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Sub-total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;38,270&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;58,242&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less debt issuance costs, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(994&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,168&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Grand total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;37,276&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;57,074&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less current portion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(37,276&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(57,074&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-current portion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;Bank Acceptance Notes Payable&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 102px;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Bank acceptance notes issued to vendors with a zero percent interest rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;8,637&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,337&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;The current portion of long-term debt is the amount payable within &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year of the balance sheet date of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Maturities of long-term debt are as follows for the future &lt;em style="font: inherit;"&gt;one&lt;/em&gt;-year periods ending &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Within one year&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;37,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Beyond one year&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total outstanding&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;37,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;"&gt;On &lt;em style="font: inherit;"&gt; November 16, 2022, &lt;/em&gt;the Company entered into a Loan Security and Guarantee Agreement (the &#x201c;Credit Facility&#x201d;) with CIT Northbridge Credit, LLC (&#x201c;CIT&#x201d;), as agent for secured parties. The Credit Facility provides the Company with a &lt;span style="-sec-ix-hidden:c100825635"&gt;three&lt;/span&gt;-year, $27.78 million revolving line of credit. Borrowings under the Credit Facility will be used for working capital needs, capital expenditures, and other corporate purposes. The Company's obligations under the Credit Facility are secured by the Company's inventory, accounts receivable, instruments, equipment, intellectual property, and all business assets with the exception of real estate and all foreign assets. Borrowings will bear interest at a rate equal to the Secured Overnight Financing Rate (SOFR) plus 3.75%, while monthly average usage is less than &lt;em style="font: inherit;"&gt;50%&lt;/em&gt; of the Credit Facility, otherwise SOFR plus 4.75%. The Credit Facility will become due at the earlier date of either &lt;em style="font: inherit;"&gt; November 16, 2025 &lt;/em&gt;or &lt;em style="font: inherit;"&gt;91&lt;/em&gt; days prior to the maturity of the Convertible Notes. As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, $5.8 million was outstanding under the Credit Facility.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;"&gt;On &lt;em style="font: inherit;"&gt; May 24, 2019, &lt;/em&gt;the Company&#x2019;s China subsidiary, Global, entered into a &lt;span style="-sec-ix-hidden:c100825642"&gt;five&lt;/span&gt;-year revolving credit line agreement, totaling 180,000,000 RMB (the &#x201c;SPD Credit Line&#x201d;), or approximately $25.4 million at that time, and a mortgage security agreement (the &#x201c;Security Agreement&#x201d;), with Shanghai Pudong Development Bank Co., Ltd ("SPD"). Borrowing under the SPD Credit Line will be used for general corporate and capital investment purposes, including the issuance of bank acceptance notes to Global&#x2019;s vendors. Global &lt;em style="font: inherit;"&gt; may &lt;/em&gt;draw upon the SPD Credit Line on an as-needed basis at any time during the &lt;em style="font: inherit;"&gt;5&lt;/em&gt;-year term; however, draws under the SPD Credit Line &lt;em style="font: inherit;"&gt; may &lt;/em&gt;become due and repayable to SPD at SPD&#x2019;s discretion due to changes in Chinese government regulations and/or changes in Global&#x2019;s financial and operational condition. Each draw will bear interest equal to SPD&#x2019;s commercial banking interest rate effective on the day of the applicable draw. Global&#x2019;s obligations under the SPD Credit Line will be secured by real property owned by Global and mortgaged to the Bank under the terms of the Security Agreement. As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, $13.8 million was outstanding under the SPD Credit Line and the outstanding balance of bank acceptance notes issued to vendors was $8.6&#160;million.&lt;/p&gt;
   &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;"&gt;On &lt;em style="font: inherit;"&gt; June 7, 2022, &lt;/em&gt;the Company's China Subsidiary, Global, entered a security agreement with China Zheshang Bank in Ningbo City, China ("CZB") for a &lt;span style="-sec-ix-hidden:c100825648"&gt;five&lt;/span&gt;-year credit line agreement, totaling 200,000,000 RMB (the &lt;em style="font: inherit;"&gt;"&#xa5;200M&lt;/em&gt; Credit Facility"), or approximately $29.9 million at that time. Global &lt;em style="font: inherit;"&gt; may &lt;/em&gt;draw upon the &lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Facility between &lt;em style="font: inherit;"&gt; June 7, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; June 6, 2027 (" &lt;/em&gt;&lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Period"). During the &lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Period, Global &lt;em style="font: inherit;"&gt; may &lt;/em&gt;request to draw upon the &lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Facility on an as-needed basis; however, draws under the &lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Facility &lt;em style="font: inherit;"&gt; may &lt;/em&gt;become due and repayable to CZB at CZB&#x2019;s discretion due to changes in Chinese government regulations and/or changes in Global&#x2019;s financial and operational condition. Each draw will be facilitated by a separate credit agreement specifying the terms of each draw and will bear interest equal to CZB's commercial banking interest rate effective on the day of the applicable draw. Global&#x2019;s obligations under the &lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Facility will be secured by real property owned by Global and mortgaged to CZB under the terms of the Real Estate Security Agreement. As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, $18.7&#160;million was outstanding under the &lt;em style="font: inherit;"&gt;&#xa5;200M&lt;/em&gt; Credit Facility and the outstanding balance of bank acceptance notes issued to vendors was $5.2 million.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;As of &lt;/span&gt;&lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;&lt;span style="background-color:#ffffff;"&gt; and &lt;/span&gt;&lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;&lt;span style="background-color:#ffffff;"&gt;, the Company had $&lt;/span&gt;32.5 million and $13.3&#160;&lt;span style="background-color:#ffffff;"&gt;million of unused borrowing capacity, respectively.&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, there &lt;span style="background-color:#ffffff;"&gt;was $6.8 million and $9.9&#160;million of restricted cash, investme&lt;/span&gt;nts or security deposits associated with the loan facilities, respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;


  </us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430024">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 102px;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Revolving line of credit with a U.S. bank up to $&lt;span style="-sec-ix-hidden:c100825693"&gt;&lt;span style="-sec-ix-hidden:c100825694"&gt;27.780&lt;/span&gt;&lt;/span&gt; million with interest at &lt;span style="-sec-ix-hidden:c100825695"&gt;&lt;span style="-sec-ix-hidden:c100825696"&gt;9.663&lt;/span&gt;&lt;/span&gt;%, maturing the earlier of either &lt;span style="-sec-ix-hidden:c100825697"&gt;&lt;span style="-sec-ix-hidden:c100825698"&gt;12/14/2023&lt;/span&gt;&lt;/span&gt; or &lt;span style="-sec-ix-hidden:c100825699"&gt;&lt;span style="-sec-ix-hidden:c100825700"&gt;11/16/2025&lt;/span&gt;&lt;/span&gt; if the convertible debt remains in effect&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;5,830&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;25,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Revolving line of credit with a China bank up to $&lt;span style="-sec-ix-hidden:c100825703"&gt;&lt;span style="-sec-ix-hidden:c100825704"&gt;19,037&lt;/span&gt;&lt;/span&gt; with interest from &lt;span style="-sec-ix-hidden:c100825705"&gt;&lt;span style="-sec-ix-hidden:c100825706"&gt;4.57&lt;/span&gt;&lt;/span&gt;% to &lt;span style="-sec-ix-hidden:c100825707"&gt;&lt;span style="-sec-ix-hidden:c100825708"&gt;6.12&lt;/span&gt;&lt;/span&gt;%, maturing &lt;span style="-sec-ix-hidden:c100825709"&gt;&lt;span style="-sec-ix-hidden:c100825710"&gt;May 24, 2024&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;13,757&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;13,102&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Credit facility with a China bank up to $&lt;span style="-sec-ix-hidden:c100825713"&gt;&lt;span style="-sec-ix-hidden:c100825714"&gt;26,651&lt;/span&gt;&lt;/span&gt; with interest of &lt;span style="-sec-ix-hidden:c100825715"&gt;&lt;span style="-sec-ix-hidden:c100825716"&gt;4.45&lt;/span&gt;&lt;/span&gt;% ~ &lt;span style="-sec-ix-hidden:c100825717"&gt;&lt;span style="-sec-ix-hidden:c100825718"&gt;6.6&lt;/span&gt;&lt;/span&gt;%, maturing &lt;span style="-sec-ix-hidden:c100825719"&gt;&lt;span style="-sec-ix-hidden:c100825720"&gt;June 6, 2027&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;18,683&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;20,140&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Sub-total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;38,270&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;58,242&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less debt issuance costs, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(994&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,168&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Grand total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;37,276&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;57,074&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Less current portion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(37,276&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(57,074&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-current portion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 102px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;Bank Acceptance Notes Payable&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 102px;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 11px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Bank acceptance notes issued to vendors with a zero percent interest rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 94px; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;8,637&lt;/td&gt;&lt;td style="width: 11px; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,337&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="-4"
      id="c100825691"
      unitRef="USD">5830000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="-6"
      id="c100825692"
      unitRef="USD">25000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-3"
      id="c100825701"
      unitRef="USD">13757000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-3"
      id="c100825702"
      unitRef="USD">13102000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-3"
      id="c100825711"
      unitRef="USD">18683000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-4"
      id="c100825712"
      unitRef="USD">20140000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2023-06-30"
      decimals="-4"
      id="c100825721"
      unitRef="USD">38270000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825722"
      unitRef="USD">58242000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825723"
      unitRef="USD">994000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825724"
      unitRef="USD">1168000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825725"
      unitRef="USD">37276000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825726"
      unitRef="USD">57074000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825727"
      unitRef="USD">37276000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825728"
      unitRef="USD">57074000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825729"
      unitRef="USD">0</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825730"
      unitRef="USD">0</us-gaap:LongTermDebtNoncurrent>
    <aaoi:BankAcceptancesExecutedAndOutstandingCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825732"
      unitRef="USD">8637000</aaoi:BankAcceptancesExecutedAndOutstandingCurrent>
    <aaoi:BankAcceptancesExecutedAndOutstandingCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825733"
      unitRef="USD">12337000</aaoi:BankAcceptancesExecutedAndOutstandingCurrent>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430025">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Within one year&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;37,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Beyond one year&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total outstanding&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;37,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825734"
      unitRef="USD">37276000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths>
    <aaoi:LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825735"
      unitRef="USD">0</aaoi:LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths>
    <us-gaap:LongTermDebt
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825736"
      unitRef="USD">37276000</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="-4"
      id="c100825636"
      unitRef="USD">27780000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <aaoi:DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage
      contextRef="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_VariableRateAxis-SecuredOvernightFinancingRateSOFRMember"
      decimals="4"
      id="c100825637"
      unitRef="Pure">0.0375</aaoi:DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2022-11-16_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_VariableRateAxis-SecuredOvernightFinancingRateSOFRMember"
      decimals="4"
      id="c100825639"
      unitRef="Pure">0.0475</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCredit
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember"
      decimals="-5"
      id="c100825641"
      unitRef="USD">5800000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="INF"
      id="c100825643"
      unitRef="CNY">180000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2019-05-24_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-5"
      id="c100825644"
      unitRef="USD">25400000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-5"
      id="c100825646"
      unitRef="USD">13800000</us-gaap:LineOfCredit>
    <us-gaap:BankAcceptancesExecuted
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-TheSPDCreditLineMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-SPDBankMember"
      decimals="-5"
      id="c100825647"
      unitRef="USD">8600000</us-gaap:BankAcceptancesExecuted>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="INF"
      id="c100825649"
      unitRef="CNY">200000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-06-07_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-5"
      id="c100825651"
      unitRef="USD">29900000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-5"
      id="c100825658"
      unitRef="USD">18700000</us-gaap:LineOfCredit>
    <us-gaap:BankAcceptancesExecuted
      contextRef="i_2023-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-The200MCreditFacilityMember_LegalEntityAxis-GlobalTechnologyIncMember_LineOfCreditFacilityAxis-ChinaZheshangBankCoLtdMember"
      decimals="-5"
      id="c100825660"
      unitRef="USD">5200000</us-gaap:BankAcceptancesExecuted>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount
      contextRef="i_2023-06-30"
      decimals="-5"
      id="c100825661"
      unitRef="USD">32500000</us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount
      contextRef="i_2022-12-31"
      decimals="-5"
      id="c100825662"
      unitRef="USD">13300000</us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount>
    <us-gaap:CashCollateralForBorrowedSecurities
      contextRef="i_2023-06-30"
      decimals="-5"
      id="c100825663"
      unitRef="USD">6800000</us-gaap:CashCollateralForBorrowedSecurities>
    <us-gaap:CashCollateralForBorrowedSecurities
      contextRef="i_2022-12-31"
      decimals="-5"
      id="c100825664"
      unitRef="USD">9900000</us-gaap:CashCollateralForBorrowedSecurities>
    <aaoi:ConvertibleDebtTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430026">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;12.&lt;/em&gt;&#160; Convertible Senior Notes&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;On &lt;em style="font: inherit;"&gt; March 5, 2019, &lt;/em&gt;the Company issued&#160;$80.5 million&#160;of 5% convertible senior notes due &lt;em style="font: inherit;"&gt;2024&lt;/em&gt; (the &#x201c;Notes&#x201d;). The Notes were issued pursuant to an indenture, dated as of &lt;em style="font: inherit;"&gt; March&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;5,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2019&lt;/em&gt; (the &#x201c;Indenture&#x201d;), between the Company and Wells Fargo Bank, National Association, as trustee, paying agent, and conversion agent (the &#x201c;Trustee&#x201d;). The Notes bear interest at a rate of &lt;em style="font: inherit;"&gt;5.00%&lt;/em&gt; per year, payable in cash semi-annually in arrears on &lt;em style="font: inherit;"&gt; March&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;15&lt;/em&gt; and &lt;em style="font: inherit;"&gt; September&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;15&lt;/em&gt; of each year, beginning on &lt;em style="font: inherit;"&gt; September&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;15,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2019.&lt;/em&gt; The Notes will mature on &lt;em style="font: inherit;"&gt; March&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;15,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2024,&lt;/em&gt; unless earlier repurchased, redeemed or converted in accordance with their terms.&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The sale of the Notes generated net proceeds of $76.4 million, after deducting the Initial Purchasers&#x2019; discounts and offering expenses payable by the Company.&#160;The Company used approximately $37.8 million of the net proceeds from the offering to fully repay the CapEx Loan and Term Loan with Truist Bank and the remainder will be used for general corporate purposes.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The following table presents the carrying value of the Notes for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 47.05pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Principal&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80,500&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80,500&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Unamortized debt issuance costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(584&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(994&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Net carrying amount&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;79,916&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;79,506&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Notes are convertible at the option of holders of the Notes at any time until the close of business on the scheduled trading day immediately preceding the maturity date. Upon conversion, holders of the Notes will receive shares of the Company&#x2019;s common stock, together, if applicable, with cash in lieu of any fractional share, at the then-applicable conversion rate. The initial conversion rate is 56.9801 shares of the Company&#x2019;s common stock per $1,000 principal amount of Notes (representing an initial conversion price of approximately $17.55 per share of common stock, which represents an initial conversion premium of approximately 30% above the closing price of $13.50 per share of the Company&#x2019;s common stock on &lt;em style="font: inherit;"&gt; February&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;28,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;), subject to customary adjustments. If a make-whole fundamental change (as defined in the Indenture) occurs, and in connection with certain other conversions before &lt;em style="font: inherit;"&gt; March&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;15,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022,&lt;/em&gt; the Company will in certain circumstances increase the conversion rate for a specified period of time.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Initially and&#160;&lt;span style="background-color:#ffffff"&gt;as of &lt;/span&gt;&lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, there are &lt;em style="font: inherit;"&gt;no&lt;/em&gt; guarantors of the Notes, but the Notes will be fully and unconditionally guaranteed, on a senior, unsecured basis by certain of the Company&#x2019;s future domestic subsidiaries.&#160; The Notes are the Company&#x2019;s senior, unsecured obligations and are equal in right of payment with existing and future senior, unsecured indebtedness, senior in right of payment to the Company&#x2019;s existing and future indebtedness that is expressly subordinated to the Notes and effectively subordinated to the Company&#x2019;s existing and future secured indebtedness, to the extent of the value of the collateral securing that indebtedness.&#160; The Note Guarantee (as defined in the Indenture) of each future guarantor, if any, will be such guarantor&#x2019;s senior, unsecured obligations and are equal in right of payment with existing and future senior, unsecured indebtedness, senior in right of payment to such future guarantor&#x2019;s existing and future indebtedness that is expressly subordinated to the Notes and effectively subordinated to such future guarantor&#x2019;s existing and future secured indebtedness, to the extent of the value of the collateral securing that indebtedness.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Holders &lt;em style="font: inherit;"&gt; may &lt;/em&gt;require the Company to repurchase their Notes upon the occurrence of a fundamental change (as defined in the Indenture) at a cash purchase price equal to the principal amount thereof plus accrued and unpaid interest, if any.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;After &lt;em style="font: inherit;"&gt; March 15, 2022, &lt;/em&gt;the Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;redeem for cash all or part of the Notes if the last reported sale price per share of the Company&#x2019;s common stock exceeds 130% of the conversion price on (i)&#160;each of at least 20 trading days, whether or &lt;em style="font: inherit;"&gt;not&lt;/em&gt; consecutive, during the 30 consecutive trading days ending on, and including, the trading day immediately before the date the Company sends the related redemption notice; and (ii)&#160;the trading day immediately before the date the Company sends such redemption notice.&#160; The redemption price is equal to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.&#160; In addition, calling any Note for redemption will constitute a &#x201c;make-whole fundamental change&#x201d; with respect to that Note, in which case the conversion rate applicable to the conversion of that Note will be increased in certain circumstances if it is converted after it is called for redemption.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Indenture contains covenants that limit the Company&#x2019;s ability and the ability of our subsidiaries to, among other things: (i)&#160;incur or guarantee additional indebtedness or issue disqualified stock; and (ii)&#160;create or incur liens.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Pursuant to the guidance in ASC &lt;em style="font: inherit;"&gt;815&lt;/em&gt;-&lt;em style="font: inherit;"&gt;40,&lt;/em&gt; Contracts in Entity&#x2019;s Own Equity, the Company evaluated whether the conversion feature of the note needed to be bifurcated from the host instrument as a freestanding financial instrument. Under ASC &lt;em style="font: inherit;"&gt;815&lt;/em&gt;-&lt;em style="font: inherit;"&gt;40,&lt;/em&gt; to qualify for equity classification (or non-bifurcation, if embedded) the instrument (or embedded feature) must be both (&lt;em style="font: inherit;"&gt;1&lt;/em&gt;) indexed to the issuer&#x2019;s own stock and (&lt;em style="font: inherit;"&gt;2&lt;/em&gt;) meet the requirements of the equity classification guidance. Based upon the Company&#x2019;s analysis, it was determined the conversion option is indexed to its own stock and also met all the criteria for equity classification contained in ASC &lt;em style="font: inherit;"&gt;815&lt;/em&gt;-&lt;em style="font: inherit;"&gt;40&lt;/em&gt;-&lt;em style="font: inherit;"&gt;25&lt;/em&gt;-&lt;em style="font: inherit;"&gt;7&lt;/em&gt; and &lt;em style="font: inherit;"&gt;815&lt;/em&gt;-&lt;em style="font: inherit;"&gt;40&lt;/em&gt;-&lt;em style="font: inherit;"&gt;25&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10.&lt;/em&gt; Accordingly, the conversion option is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; required to be bifurcated from the host instrument as a freestanding financial instrument. Since the conversion feature meets the equity scope exception from derivative accounting, the Company then evaluated whether the conversion feature needed to be separately accounted for as an equity component under ASC &lt;em style="font: inherit;"&gt;470&lt;/em&gt;-&lt;em style="font: inherit;"&gt;20,&lt;/em&gt; Debt with Conversion and Other Options.&#160; The Company determined that notes should be accounted for in their entirety as a liability.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Company incurred approximately $4.1 million in transaction costs in connection with the issuance of the Notes. These costs were recognized as a reduction of the carrying amount of the Notes utilizing the effective interest method and are being amortized over the term of the Notes.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 18pt; text-align: left; text-indent: 18pt;"&gt;The following table sets forth interest expense information related to the Notes (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Contractual interest expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,006&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,006&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,013&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,013&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Amortization of debt issuance costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;206&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;206&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;410&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;410&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total interest cost&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,212&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,212&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,423&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,423&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Effective interest rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;"&gt;&#x200b;&lt;/p&gt;
  </aaoi:ConvertibleDebtTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-5"
      id="c100825738"
      unitRef="USD">80500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="2"
      id="c100825739"
      unitRef="Pure">0.05</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-5"
      id="c100825750"
      unitRef="USD">76400000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="d_2019-03-05_2019-03-05_DebtInstrumentAxis-CapExLoanAndTermLoanMember_LineOfCreditFacilityAxis-TruistBankMember"
      decimals="-5"
      id="c100825751"
      unitRef="USD">37800000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ConvertibleDebtTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430027">
    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Principal&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80,500&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80,500&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Unamortized debt issuance costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(584&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(994&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Net carrying amount&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;79,916&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;79,506&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ConvertibleDebtTableTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-5"
      id="c100825790"
      unitRef="USD">80500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-5"
      id="c100825791"
      unitRef="USD">80500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825792"
      unitRef="USD">584000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825793"
      unitRef="USD">994000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:ConvertibleNotesPayable
      contextRef="i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825794"
      unitRef="USD">79916000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:ConvertibleNotesPayable
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825795"
      unitRef="USD">79506000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:DebtConversionConvertedInstrumentSharesIssued1
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="INF"
      id="c100825752"
      unitRef="Share">56.9801</us-gaap:DebtConversionConvertedInstrumentSharesIssued1>
    <us-gaap:DebtConversionConvertedInstrumentAmount1
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="INF"
      id="c100825753"
      unitRef="USD">1000</us-gaap:DebtConversionConvertedInstrumentAmount1>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="INF"
      id="c100825754"
      unitRef="USDPerShare">17.55</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <aaoi:DebtInstrumentConvertibleConversionPricePremiumPercentage
      contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="1"
      id="c100825755"
      unitRef="Pure">0.30</aaoi:DebtInstrumentConvertibleConversionPricePremiumPercentage>
    <us-gaap:SharePrice
      contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="INF"
      id="c100825756"
      unitRef="USDPerShare">13.50</us-gaap:SharePrice>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="1"
      id="c100825762"
      unitRef="Pure">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="INF"
      id="c100825763"
      unitRef="Pure">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="INF"
      id="c100825765"
      unitRef="Pure">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed
      contextRef="d_2019-03-05_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="0"
      id="c100825766"
      unitRef="Pure">1</us-gaap:DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="i_2019-03-05_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-5"
      id="c100825785"
      unitRef="USD">4100000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430028">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Contractual interest expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,006&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,006&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,013&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,013&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Amortization of debt issuance costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;206&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;206&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;410&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;410&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total interest cost&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,212&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,212&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,423&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,423&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Effective interest rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;5.1&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825804"
      unitRef="USD">1006000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825805"
      unitRef="USD">1006000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825806"
      unitRef="USD">2013000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825807"
      unitRef="USD">2013000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825808"
      unitRef="USD">206000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825809"
      unitRef="USD">206000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-4"
      id="c100825810"
      unitRef="USD">410000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-4"
      id="c100825811"
      unitRef="USD">410000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebt
      contextRef="d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825812"
      unitRef="USD">1212000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="d_2022-04-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825813"
      unitRef="USD">1212000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="d_2023-01-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825814"
      unitRef="USD">2423000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="d_2022-01-01_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="-3"
      id="c100825815"
      unitRef="USD">2423000</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="3"
      id="c100825816"
      unitRef="Pure">0.051</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="3"
      id="c100825817"
      unitRef="Pure">0.051</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="3"
      id="c100825818"
      unitRef="Pure">0.051</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2022-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member"
      decimals="3"
      id="c100825819"
      unitRef="Pure">0.051</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430029">
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt -18pt; text-align: left; text-indent: 18pt;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;13.&lt;/em&gt;&#160; Accrued Liabilities&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;Accrued liabilities consisted of the following for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued payroll&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,289&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,702&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued employee benefits&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,159&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,265&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued state and local taxes&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,014&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;588&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Accrued interest&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;1,423&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;1,597&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Advanced payments&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;161&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;216&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Accrued commission expenses&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;728&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;937&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued professional fees&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;202&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;409&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued product warranty&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;145&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;140&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued other&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;581&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;368&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Total accrued liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;14,702&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,222&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
  </us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430030">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30, 2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued payroll&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7,289&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,702&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued employee benefits&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,159&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,265&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued state and local taxes&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,014&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;588&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Accrued interest&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;1,423&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;1,597&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Advanced payments&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;161&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;216&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Accrued commission expenses&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;728&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;937&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued professional fees&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;202&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;409&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued product warranty&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;145&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;140&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Accrued other&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;581&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;368&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Total accrued liabilities&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;14,702&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,222&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825823"
      unitRef="USD">7289000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825824"
      unitRef="USD">9702000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825825"
      unitRef="USD">3159000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825826"
      unitRef="USD">3265000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825827"
      unitRef="USD">1014000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825828"
      unitRef="USD">588000</us-gaap:TaxesPayableCurrent>
    <aaoi:AccruedInterestCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825829"
      unitRef="USD">1423000</aaoi:AccruedInterestCurrent>
    <aaoi:AccruedInterestCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825830"
      unitRef="USD">1597000</aaoi:AccruedInterestCurrent>
    <aaoi:AccruedLiabilitiesAdvancedPayments
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825832"
      unitRef="USD">161000</aaoi:AccruedLiabilitiesAdvancedPayments>
    <aaoi:AccruedLiabilitiesAdvancedPayments
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825833"
      unitRef="USD">216000</aaoi:AccruedLiabilitiesAdvancedPayments>
    <us-gaap:AccruedLiabilitiesForCommissionsExpenseAndTaxes
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825835"
      unitRef="USD">728000</us-gaap:AccruedLiabilitiesForCommissionsExpenseAndTaxes>
    <us-gaap:AccruedLiabilitiesForCommissionsExpenseAndTaxes
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825836"
      unitRef="USD">937000</us-gaap:AccruedLiabilitiesForCommissionsExpenseAndTaxes>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825837"
      unitRef="USD">202000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825838"
      unitRef="USD">409000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825839"
      unitRef="USD">145000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c100825840"
      unitRef="USD">140000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825841"
      unitRef="USD">581000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825842"
      unitRef="USD">368000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825844"
      unitRef="USD">14702000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825846"
      unitRef="USD">17222000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430031">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;14.&lt;/em&gt;&#160; Other Income and Expense&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Other income and (expense) consisted of the following for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 44%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Foreign exchange transaction gain (loss)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;413&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(288&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;176&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(811&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Government subsidy income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;715&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;83&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;833&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;102&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other non-operating gain&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;43&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;28&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;143&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;45&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Gain (loss) on disposal of assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total other income (expenses) , net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,167&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(180&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,145&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(629&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
  </us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock>
    <us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430032">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 44%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Foreign exchange transaction gain (loss)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;413&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(288&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;176&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(811&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Government subsidy income&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;715&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;83&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;833&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;102&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other non-operating gain&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;43&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;28&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;143&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;45&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Gain (loss) on disposal of assets&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total other income (expenses) , net&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,167&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(180&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,145&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(629&lt;/td&gt;
       &lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825856"
      unitRef="USD">413000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825857"
      unitRef="USD">-288000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825858"
      unitRef="USD">176000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825859"
      unitRef="USD">-811000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <aaoi:GovernmentSubsidyIncome
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825860"
      unitRef="USD">715000</aaoi:GovernmentSubsidyIncome>
    <aaoi:GovernmentSubsidyIncome
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825861"
      unitRef="USD">83000</aaoi:GovernmentSubsidyIncome>
    <aaoi:GovernmentSubsidyIncome
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825862"
      unitRef="USD">833000</aaoi:GovernmentSubsidyIncome>
    <aaoi:GovernmentSubsidyIncome
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825863"
      unitRef="USD">102000</aaoi:GovernmentSubsidyIncome>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825864"
      unitRef="USD">43000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825865"
      unitRef="USD">28000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825866"
      unitRef="USD">143000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825867"
      unitRef="USD">45000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825868"
      unitRef="USD">-4000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100825869"
      unitRef="USD">-3000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825870"
      unitRef="USD">-7000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825871"
      unitRef="USD">35000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100825872"
      unitRef="USD">1167000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-4"
      id="c100825873"
      unitRef="USD">-180000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825874"
      unitRef="USD">1145000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100825875"
      unitRef="USD">-629000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430033">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;15.&lt;/em&gt;&#160; Share-Based Compensation&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;Equity Plans&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Company&#x2019;s board of directors and stockholders approved the following equity plans:&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left; text-indent: -36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: top; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;td style="width: 36pt; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x25cf;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;the &lt;em style="font: inherit;"&gt;2013&lt;/em&gt; Equity Incentive Plan (&lt;em style="font: inherit;"&gt;&#x201c;2013&lt;/em&gt; Plan&#x201d;)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: top; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;td style="width: 36pt; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x25cf;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;the &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; Equity Incentive Plan (&lt;em style="font: inherit;"&gt;&#x201c;2021&lt;/em&gt; Plan&#x201d;)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Company issued stock options, restricted stock awards (&#x201c;RSAs&#x201d;) and restricted stock units (&#x201c;RSUs&#x201d;) to employees, consultants and non-employee directors. Stock option awards generally vest over a &lt;span style="-sec-ix-hidden:c100825881"&gt;four&lt;/span&gt;-year period and have a maximum term of &lt;span style="-sec-ix-hidden:c100825882"&gt;ten&lt;/span&gt; years. Stock options under these plans have been granted with an exercise price equal to the fair market value on the date of the grant. Nonqualified and Incentive Stock Options, RSAs and RSUs &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be granted from these plans. Prior to the Company&#x2019;s initial public offering in &lt;em style="font: inherit;"&gt; September 2013, &lt;/em&gt;the fair market value of the Company&#x2019;s stock had been historically determined by the board of directors and from time to time with the assistance of &lt;em style="font: inherit;"&gt;third&lt;/em&gt;-party valuation specialists.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;Stock Options&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Options have been granted to the Company&#x2019;s employees under the &lt;em style="font: inherit;"&gt;two&lt;/em&gt; incentive plans and generally become exercisable as to 25% of the shares on the &lt;em style="font: inherit;"&gt;first&lt;/em&gt; anniversary date following the date of grant and 12.5% on a semi-annual basis thereafter. All options expire &lt;em style="font: inherit;"&gt;ten&lt;/em&gt; years after the date of grant.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left;"&gt;The following is a summary of option activity:&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Share Price&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Remaining&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Exercise&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;on Date of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Contractual&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intrinsic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Price&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Exercise&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Fair Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Life&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="22" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 63%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;(in thousands, except price data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;263&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;10.41&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5.45&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.71&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(34&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;7.50&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;4.73&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Outstanding, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;10.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#x200b;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;0.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Exercisable, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;10.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#x200b;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;0.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Vested and expected to vest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;10.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#x200b;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;0.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
    &#160;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, there was no unrecognized stock option expense.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;Performance Based Incentive Plan&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;The Company approved to grant restricted performance stock units (&#x201c;PSUs&#x201d;) to senior executives as a part of our long-term equity compensation program starting from &lt;em style="font: inherit;"&gt; June 2021. &lt;/em&gt;The number of shares of common stock that will ultimately be issued to settle PSUs granted ranges from&#160;0%&#160;to&#160;200% of the number granted and is determined based on certain performance criteria over a &lt;em style="font: inherit;"&gt;three&lt;/em&gt;-year measurement period. The performance criteria for the PSUs are based on a combination of the performance of our stock price and the Total Shareholder Return (&#x201c;TSR&#x201d;) for the performance period compared with the TSR of certain peer companies or index for the performance period. PSUs granted vest&#160;100% on the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;&#160;anniversary of their grant, assuming achievement of the applicable performance criteria. We estimated the fair value of the PSUs using a Monte Carlo simulation model on the date of grant. Compensation expense is recognized ratably over the explicit service period&lt;span style="background-color:#ffffff;"&gt;.&#160;The Company recognized &lt;/span&gt;PSU expenses for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt;&#160;months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&#160;of $0.5 million and $0.4&#160;million, respectively.&#160;&lt;span style="background-color:#ffffff"&gt;The Company recognized &lt;/span&gt;PSU expenses for the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; June 30, 2023 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&#160;of $0.9&#160;million and $0.7 million, respectively.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;The following is a summary of PSU activity:&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Share&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Price on Date&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Fair&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intrinsic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;of Release&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;(in thousands, except price data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;766&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,447&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;767&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8.89&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,566&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Released&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cancelled/Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outstanding, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,134&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Vested and expected to vest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,134&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, there was $8.7 mil&lt;span style="background-color:#ffffff"&gt;lion&lt;/span&gt; of unrecognized compensation expense related to these PSUs. This expense is expected to be recognized over 2.5&#160;y&lt;span style="background-color:#ffffff"&gt;ears&lt;/span&gt;.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt -28pt; text-indent: 27pt;"&gt;&lt;i&gt;Restricted Stock Units&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;The following is a summary of RSU&#160;activity:&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 27pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Share&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Price on Date&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Fair&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intrinsic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;of Release&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;(in thousands, except price data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Outstanding at January 1, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;2,210&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;5.76&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;4,175&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;2,074&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;4.60&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;9,540&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Released&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(580&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.37&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,321&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Cancelled/Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(110&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.93&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;654&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Outstanding, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,594&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;5.05&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;21,422&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Vested and expected to vest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,594&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;5.05&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;21,422&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;As of &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt;, there was&lt;span style="background-color:#ffffff;"&gt; $15.8 million&lt;/span&gt; of unrecognized compensation expense related to these RSUs. This expense is expected to be recognized over &lt;span style="background-color:#ffffff;"&gt;2.5 years&lt;/span&gt;.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;Share-Based Compensation&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;i&gt;&#x200b;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;Employee share-based compensation expenses recognized for the periods indicated (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 44%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Share-based compensation - by expense type&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cost of goods sold&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;156&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;114&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;270&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;250&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Research and development&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;480&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;310&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;777&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;675&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Sales and marketing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;291&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;186&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;486&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;412&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;General and administrative&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,135&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,534&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,819&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,279&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total share-based compensation expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,062&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,144&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,352&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,616&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember"
      decimals="2"
      id="c100825886"
      unitRef="Pure">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnSemiannualBasisMember"
      decimals="3"
      id="c100825888"
      unitRef="Pure">0.125</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430034">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Share Price&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Remaining&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Exercise&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;on Date of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Contractual&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intrinsic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Price&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 6%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Exercise&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Fair Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Life&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="22" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 63%;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;(in thousands, except price data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 26%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;263&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;10.41&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5.45&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.71&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(34&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;7.50&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;4.73&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Outstanding, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;10.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#x200b;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;0.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Exercisable, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;10.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#x200b;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;0.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 26%;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Vested and expected to vest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;10.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&#x200b;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 6%;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;0.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825940"
      unitRef="Share">263000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c100825941"
      unitRef="USDPerShare">10.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c100825943"
      unitRef="USDPerShare">5.45</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2022-01-01_2022-12-31" id="c100825944">P0Y8M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100825945"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825947"
      unitRef="Share">34000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100825949"
      unitRef="USDPerShare">7.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100825953"
      unitRef="USDPerShare">4.73</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100825957"
      unitRef="USD">0</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825958"
      unitRef="Share">229000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2023-06-30"
      decimals="INF"
      id="c100825959"
      unitRef="USDPerShare">10.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2023-06-30"
      decimals="INF"
      id="c100825961"
      unitRef="USDPerShare">5.56</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2023-01-01_2023-06-30" id="c100825962">P0Y3M25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825963"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825964"
      unitRef="Share">229000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i_2023-06-30"
      decimals="INF"
      id="c100825965"
      unitRef="USDPerShare">10.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100825967"
      unitRef="USDPerShare">5.56</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="d_2023-01-01_2023-06-30" id="c100825968">P0Y3M25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825969"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825970"
      unitRef="Share">229000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="i_2023-06-30"
      decimals="INF"
      id="c100825971"
      unitRef="USDPerShare">10.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30"
      decimals="INF"
      id="c100825973"
      unitRef="USDPerShare">5.56</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1 contextRef="d_2023-01-01_2023-06-30" id="c100825974">P0Y3M25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825975"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="i_2023-06-30"
      decimals="-3"
      id="c100825890"
      unitRef="USD">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <aaoi:SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MinimumMember"
      decimals="-3"
      id="c100825891"
      unitRef="Pure">0</aaoi:SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount>
    <aaoi:SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember_RangeAxis-MaximumMember"
      decimals="0"
      id="c100825892"
      unitRef="Pure">2</aaoi:SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember_VestingAxis-VestingOnTheThirdAnniversaryMember"
      decimals="0"
      id="c100825894"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-5"
      id="c100825898"
      unitRef="USD">500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-5"
      id="c100825899"
      unitRef="USD">400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-5"
      id="c100825902"
      unitRef="USD">900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-5"
      id="c100825903"
      unitRef="USD">700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430035">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Share&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Price on Date&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Fair&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intrinsic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;of Release&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;(in thousands, except price data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;766&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.75&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,447&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;767&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;8.89&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,566&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Released&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cancelled/Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outstanding, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,134&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Vested and expected to vest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;7.82&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,134&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100825992"
      unitRef="Share">766000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember"
      decimals="INF"
      id="c100825994"
      unitRef="USDPerShare">6.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="i_2022-12-31_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100825995"
      unitRef="USD">1447000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100825996"
      unitRef="Share">767000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="INF"
      id="c100825998"
      unitRef="USDPerShare">8.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100825999"
      unitRef="USD">3566000</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826000"
      unitRef="Share">-0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="INF"
      id="c100826002"
      unitRef="USDPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826003"
      unitRef="USD">0</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826004"
      unitRef="Share">-0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="INF"
      id="c100826006"
      unitRef="USDPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826007"
      unitRef="USD">0</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826008"
      unitRef="Share">1533000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="INF"
      id="c100826010"
      unitRef="USDPerShare">7.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826011"
      unitRef="USD">9134000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826012"
      unitRef="Share">1533000</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="INF"
      id="c100826014"
      unitRef="USDPerShare">7.82</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-3"
      id="c100826015"
      unitRef="USD">9134000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      decimals="-5"
      id="c100825904"
      unitRef="USD">8700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-PerformanceSharesMember"
      id="c100825905">P2Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430036">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt; &lt;/em&gt;&lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Share&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Price on Date&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Average Fair&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Intrinsic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;of Release&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" rowspan="1" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;(in thousands, except price data)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Outstanding at January 1, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;2,210&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;5.76&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt"&gt;4,175&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;2,074&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;4.60&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;9,540&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Released&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;(580&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6.37&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,321&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Cancelled/Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(110&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3.93&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;654&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Outstanding, June 30, 2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,594&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;5.05&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;21,422&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: Times New Roman;"&gt;Vested and expected to vest&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,594&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;5.05&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;21,422&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-4"
      id="c100826032"
      unitRef="Share">2210000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="c100826034"
      unitRef="USDPerShare">5.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826035"
      unitRef="USD">4175000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826036"
      unitRef="Share">2074000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="c100826038"
      unitRef="USDPerShare">4.60</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-4"
      id="c100826039"
      unitRef="USD">9540000</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-4"
      id="c100826040"
      unitRef="Share">580000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="c100826042"
      unitRef="USDPerShare">6.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826043"
      unitRef="USD">1321000</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-4"
      id="c100826044"
      unitRef="Share">110000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="c100826046"
      unitRef="USDPerShare">3.93</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826047"
      unitRef="USD">654000</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826048"
      unitRef="Share">3594000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="c100826050"
      unitRef="USDPerShare">5.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826051"
      unitRef="USD">21422000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826052"
      unitRef="Share">3594000</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest>
    <aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="c100826054"
      unitRef="USDPerShare">5.05</aaoi:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="d_2023-01-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-3"
      id="c100826055"
      unitRef="USD">21422000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      decimals="-5"
      id="c100825906"
      unitRef="USD">15800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2023-04-01_2023-06-30_AwardTypeAxis-RestrictedStockUnitsRSUMember"
      id="c100825907">P2Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430037">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 44%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Share-based compensation - by expense type&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cost of goods sold&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;156&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;114&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;270&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;250&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Research and development&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;480&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;310&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;777&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;675&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Sales and marketing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;291&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;186&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;486&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;412&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;General and administrative&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,135&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,534&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,819&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,279&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total share-based compensation expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,062&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,144&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,352&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,616&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c100826069"
      unitRef="USD">156000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c100826070"
      unitRef="USD">114000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-4"
      id="c100826071"
      unitRef="USD">270000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-4"
      id="c100826072"
      unitRef="USD">250000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-4"
      id="c100826073"
      unitRef="USD">480000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-4"
      id="c100826074"
      unitRef="USD">310000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="c100826075"
      unitRef="USD">777000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="c100826076"
      unitRef="USD">675000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c100826077"
      unitRef="USD">291000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c100826078"
      unitRef="USD">186000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c100826079"
      unitRef="USD">486000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember"
      decimals="-3"
      id="c100826080"
      unitRef="USD">412000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c100826081"
      unitRef="USD">2135000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c100826082"
      unitRef="USD">1534000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-01-01_2023-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c100826083"
      unitRef="USD">3819000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="c100826084"
      unitRef="USD">3279000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100826085"
      unitRef="USD">3062000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100826086"
      unitRef="USD">2144000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100826087"
      unitRef="USD">5352000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-3"
      id="c100826088"
      unitRef="USD">4616000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430038">
   &lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&lt;b&gt;&lt;span style="background-color:#ffffff;"&gt;Note &lt;em style="font: inherit;"&gt;16.&lt;/em&gt;&#160; Income Taxes &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&lt;b&gt;&lt;span style="background-color:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/b&gt;&lt;span style="background-color:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-indent: 36pt;"&gt;For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months ended&#160;&lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2022,&lt;/em&gt; the effective tax rate varied from the federal statutory rate of 21% primarily due to the change of the valuation allowance on federal, state, Taiwan, and China deferred tax assets ("DTA").&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 45pt;"&gt;The Company continually monitors and performs an assessment of the realizability of its DTAs, including an analysis of factors such as future taxable income, reversal of existing taxable temporary differences, and tax planning strategies. In assessing the need for a valuation allowance, the Company considered both positive and negative evidence related to the likelihood of realization of deferred tax assets using a &#x201c;more likely than &lt;em style="font: inherit;"&gt;not&#x201d;&lt;/em&gt; standard. In making such assessment, more weight was given to evidence that could be objectively verified, including recent cumulative losses. Based on the Company&#x2019;s review of this evidence, management determined that a full valuation allowance against all of the Company&#x2019;s net deferred tax assets at &lt;em style="font: inherit;"&gt; June 30, 2023&lt;/em&gt; was appropriate.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 45pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="d_2023-04-01_2023-06-30"
      decimals="2"
      id="c100826096"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430039">
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;17.&lt;/em&gt;&#160; Geographic Information&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The Company operates in &lt;span style="-sec-ix-hidden:c100826107"&gt;one&lt;/span&gt; reportable segment. The Company&#x2019;s Chief Executive Officer, who is considered to be the chief operating decision maker, manages the Company&#x2019;s operations as a whole and reviews financial information presented on a consolidated basis, accompanied by information about product revenue, for purposes of evaluating financial performance and allocating resources.&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;The following tables set forth the Company&#x2019;s revenue and asset information by geographic region. Revenue is classified based on the location of where the product is manufactured. Long-lived assets in the tables below comprise only property, plant, equipment and intangible assets (in thousands):&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Revenues:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,702&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,147&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,141&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,705&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Taiwan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34,271&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37,205&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;76,657&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;64,984&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;China&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,642&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;13,947&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,847&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35,851&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;41,615&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;52,299&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,645&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;104,540&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#160;&lt;/p&gt;

    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;As of the period ended&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Long-lived assets:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;76,605&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80,048&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Taiwan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;47,002&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;50,777&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;China&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;88,193&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;93,888&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;211,800&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;224,713&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&#x200b;&lt;/p&gt;


  </us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430040">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Three months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Six months ended June 30,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 40%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Revenues:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;2,702&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;1,147&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;9,141&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;3,705&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Taiwan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;34,271&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;37,205&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;76,657&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;64,984&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;China&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,642&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;13,947&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,847&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35,851&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;41,615&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;52,299&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,645&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;104,540&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_StatementGeographicalAxis-US"
      decimals="-3"
      id="c100826118"
      unitRef="USD">2702000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_StatementGeographicalAxis-US"
      decimals="-3"
      id="c100826119"
      unitRef="USD">1147000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_StatementGeographicalAxis-US"
      decimals="-3"
      id="c100826120"
      unitRef="USD">9141000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_StatementGeographicalAxis-US"
      decimals="-3"
      id="c100826121"
      unitRef="USD">3705000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_StatementGeographicalAxis-TW"
      decimals="-3"
      id="c100826122"
      unitRef="USD">34271000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_StatementGeographicalAxis-TW"
      decimals="-3"
      id="c100826123"
      unitRef="USD">37205000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_StatementGeographicalAxis-TW"
      decimals="-3"
      id="c100826124"
      unitRef="USD">76657000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_StatementGeographicalAxis-TW"
      decimals="-3"
      id="c100826125"
      unitRef="USD">64984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30_StatementGeographicalAxis-CN"
      decimals="-3"
      id="c100826126"
      unitRef="USD">4642000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30_StatementGeographicalAxis-CN"
      decimals="-3"
      id="c100826127"
      unitRef="USD">13947000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30_StatementGeographicalAxis-CN"
      decimals="-3"
      id="c100826128"
      unitRef="USD">8847000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30_StatementGeographicalAxis-CN"
      decimals="-3"
      id="c100826129"
      unitRef="USD">35851000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-04-01_2023-06-30"
      decimals="-3"
      id="c100826130"
      unitRef="USD">41615000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c100826131"
      unitRef="USD">52299000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2023-01-01_2023-06-30"
      decimals="-3"
      id="c100826132"
      unitRef="USD">94645000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-06-30"
      decimals="-4"
      id="c100826133"
      unitRef="USD">104540000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430041">
    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 7.5%; margin-left: 7.5%; width: 85%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;As of the period ended&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;June 30,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;Long-lived assets:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: left; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;United States&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;76,605&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;80,048&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Taiwan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;47,002&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;50,777&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;China&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;88,193&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;93,888&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: Times New Roman; font-size: 10pt; margin: 0pt;"&gt;&#x200b;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;211,800&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;224,713&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="i_2023-06-30_StatementGeographicalAxis-US"
      decimals="-3"
      id="c100826141"
      unitRef="USD">76605000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2022-12-31_StatementGeographicalAxis-US"
      decimals="-3"
      id="c100826142"
      unitRef="USD">80048000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2023-06-30_StatementGeographicalAxis-TW"
      decimals="-3"
      id="c100826143"
      unitRef="USD">47002000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2022-12-31_StatementGeographicalAxis-TW"
      decimals="-3"
      id="c100826144"
      unitRef="USD">50777000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2023-06-30_StatementGeographicalAxis-CN"
      decimals="-3"
      id="c100826145"
      unitRef="USD">88193000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2022-12-31_StatementGeographicalAxis-CN"
      decimals="-3"
      id="c100826146"
      unitRef="USD">93888000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2023-06-30"
      decimals="-5"
      id="c100826147"
      unitRef="USD">211800000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c100826148"
      unitRef="USD">224713000</us-gaap:NoncurrentAssets>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430042">
   &lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;18.&lt;/em&gt;&#160; Contingencies&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#x200b;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;&lt;b&gt;Litigation&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#x200b;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;i&gt;Overview&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;From time to time, the Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be subject to legal proceedings and litigation arising in the ordinary course of business, including, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to, inquiries, investigations, audits and other regulatory proceedings, such as described below. The Company records a loss provision when it believes it is both probable that a liability has been incurred and the amount can be reasonably estimated.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;The Company believes that there are &lt;em style="font: inherit;"&gt;no&lt;/em&gt; claims or actions pending or threatened against it, the ultimate disposition of which would have a material adverse effect on it.&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 0pt; text-align: left;"&gt;&lt;i&gt;Other Contingencies&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt; text-align: left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 36pt; text-align: left;"&gt;&lt;span style="background-color:#ffffff;"&gt;On&#160;&lt;em style="font: inherit;"&gt; August 9, 2021,&#160;&lt;/em&gt;the Company received a Taxes Notification of Audit Result (&#x201c;Notice&#x201d;) from the Texas Comptroller&#x2019;s Office (the &#x201c;Comptroller&#x201d;), for fiscal years between&#160;&lt;em style="font: inherit;"&gt;2016&lt;/em&gt;&#160;and&#160;&lt;em style="font: inherit;"&gt;2019,&lt;/em&gt;&#160;informing the Company that the Comptroller believes the Company did&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;qualify for certain sales and use tax exemptions on various Research and Development purchases and accordingly the Company is liable for Sale and Use Tax in the amount of approximately $1.0&#160;million including interest charges. The Company paid $0.4&#160;million for the tax notice in &lt;em style="font: inherit;"&gt; May 2021, &lt;/em&gt;but challenged the remaining tax assessments and vigorously defended its position.&#160;&lt;/span&gt;The Comptroller&#x2019;s office exhausted its redetermination period and therefore moved AOI&#x2019;s case to the hearing process. In &lt;em style="font: inherit;"&gt; April 2023 &lt;/em&gt;the Company&#160;received&#160;a notice from an attorney representing the Administrative Hearings Section ("AHS") to issue a Position Letter. &lt;em style="font: inherit;"&gt;No&lt;/em&gt; updated action was taken in the &lt;em style="font: inherit;"&gt;second&lt;/em&gt; quarter.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;"&gt;&#160;&lt;/p&gt;
  </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <aaoi:LossContingencyPotentialObigation
      contextRef="d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember"
      decimals="-6"
      id="c100826155"
      unitRef="USD">1000000.0</aaoi:LossContingencyPotentialObigation>
    <us-gaap:LossContingencyAccrualPayments
      contextRef="d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember"
      decimals="-5"
      id="c100826156"
      unitRef="USD">400000</us-gaap:LossContingencyAccrualPayments>
    <us-gaap:SubsequentEventsTextBlock contextRef="d_2023-01-01_2023-06-30" id="c2430043">
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Note &lt;em style="font: inherit;"&gt;19.&lt;/em&gt;&#160; Subsequent Events&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;span style="background-color:#ffffff;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 36pt;"&gt;&lt;span style="background-color:#ffffff;"&gt;T&lt;/span&gt;he Company repaid its revolving bank line of credit with CIT in the amount of $5.8 million on &lt;em style="font: inherit;"&gt; July 13, 2023.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt;"&gt;&#160;&lt;/p&gt;


  </us-gaap:SubsequentEventsTextBlock>
    <us-gaap:RepaymentsOfDebt
      contextRef="d_2023-07-13_2023-07-13_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_SubsequentEventTypeAxis-SubsequentEventMember"
      decimals="-5"
      id="c100826160"
      unitRef="USD">5800000</us-gaap:RepaymentsOfDebt>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>89
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( '.$ U<'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " !SA -7%.HKW.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M3L,P#(=?!>7>.FT%@JC+91,GD)"8!.(6)=X6K?FCQ*C=V].6K1."!^ 8^Y?/
MGR6W.@H=$KZD$#&1Q7PSN,YGH>.*'8BB ,CZ@$[E<DSXL;D+R2D:GVD/4>FC
MVB/4G-^!0U)&D8()6,2%R&1KM- )%85TQAN]X.-GZF:8T8 =.O24H2HK8'*:
M&$]#U\(5,,$(D\O?!30+<:[^B9T[P,[)(=LEU?=]V3=S;MRA@O?GI]=YW<+Z
M3,IK'']E*^@4<<4ND]^:]6;[R&3-ZZ;@]P5OMC47S:VH'CXFUQ]^5V$7C-W9
M?VQ\$90M_+H+^0502P,$%     @ <X0#5YE<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" !SA -7R#@-J^ %  #U'@  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+69:W/B-A2&_XJ&=CKM3 B6S"W;A!E"DI9M-F$#O4\_*+8 S]H6E65(_GV/
M;+!)1CY0S_(EL8W/:STZQ](KZW(CU9=D*80F+U$8)U>-I=:K#ZU6XBU%Q)-S
MN1(Q_#*7*N(:3M6BE:R4X'X6%(4MYCC=5L2#N#&XS*Y-U.!2ICH,8C%1)$FC
MB*O7:Q'*S56#-G87GH+%4IL+K<'EBB_$5.A?5Q,%9ZU"Q0\B$2>!C(D2\ZO&
MD'X8N<P$9'?\%HA-LG=,#,JSE%_,R=B_:CBF12(4GC82'/ZMQ4B$H5&"=OR[
M%6T4SS2!^\<[];L,'F">>2)&,OP]\/7RJM%O$%_,>1KJ)[GY66R!.D;/DV&2
M_26;_-YVNT&\--$RV@9#"Z(@SO_SEVU'[ 6XM"* ;0/8NP!:]01W&^!FH'G+
M,JP;KOG@4LD-4>9N4#,'6=]DT4 3Q":-4ZW@UP#B].!&>BED19-A[)/;6 ?Z
ME8SCO#Q,-S=)LN1*))<M#4\S,2UOJWR=*[,*Y2[Y)&.]3$#5%_[;^!:TLF@J
MVS7UFJ&"']/XG+C.&6$.<RWM&>'APW1Q3AQJ"W_3'+?H.3?3<P_UW'YW_7T/
M=Y&Q%E'RCZW+<LFV7=*\LA^2%??$50/>R42HM6@,OON&=IT?;;Q?2>P-?;N@
M;V/J@VVIC* #% ^A#WSQ0GX1KS9H7,EQ'$H[?4K;-D8TMB9CIV#L',/X)!9!
M I20Z@<>"1LAKC.<3.['MS?D<3)[O+V_'<V>'A_&H^D9&3^,SFW0J%Q-Z&X!
MW<4;"S7M9W5]%_*%#1:/G_,PL?71" VK"=4KH'IHHT:I4AE2D'A0K7\*KLRP
M1&#(M.835VLV*6NZU :)!M:$[!>0?;19Q8"TI9P(%4B?W,%EZ_"-JWUF-CXT
MIB;?1<%W\;_XLBQ6TN%:55,(&E63CSKE7.P<1SA[75GK\D \=9J?;51X6%VL
M/8M!C\/ZG'*EA0K-F+J22EL1<2VM4NOH@H?5160E(CL.<?O288/+ :G"YE3Z
M'%R@+FOI>RAJ+/:J%.;$),A\#Y)/7*QRNL#CZD*6]H8>Y6_N@E"0AS1Z%LH*
M=\C:T*;;=?KV+)["VM#2V]"CS,TX]J2"W&7V]8Q,-10MD8J,9 K.#@R>].U%
MC*O?W%J13V%L:.EL*&Y-ML@S_D+&/A1P, ^\W+8C&<8E>]VFTW'="]:S\I["
M\]#2]%#<IVQYA[X/ZLG9[H!D:Y3'V)Y77)*ZU+T@'XW*)% :7H[K<.U;32RN
M5!>^-$,4]R_OX4?F# I[)C>Q%1R7FZ8+<!OW//:MK*?P1;0T1A1W,^]9B[=X
MHN0ZB#U[IG'-V1]6T%,8)%8:)(8;G/>@$YEH<()_!:O*@>J 8J_7[O6M'Q-.
MX9E8Z9D8[G.R<ATJP:O!< '6MRY0\*BZ6*5/8KBYN9?9RF0I8VQ:/2#"+CI-
MVG<<*]\IO!$KO1'#[<PL,&.BG!/*OG_^@4R%ERK(I!425QK)*(*9::JE]P4*
M'0:?-0]30;YUSL%66-%/X9A8Z9@8;G; #?I!O"#3U^A9AE9B7& X?!Q;N4YA
ME%AIE!AN978Y)+<OWI+'"U'Y%>B T,-P>C.TKL_PP+J$I2]B1_FBW4>2W,MG
MJ81YQ+ZZ/J#XI_6#\0B/JLM9^B%VE!\:Q[ &S;</S!J-[\"MG+AB%><IK \K
MK0\[ROJ8M0L8>; ""ZGL0Q"N\R#C)O<\ 3(@XN>"5MY3V!]6VA]VE/V91CP,
MR76:P,^)O6IQG:IO"WA833RW-#WN4:;G-A)J8=[*GT!!+\$71"L>6_-Z0+!R
MS8W'U04M/8^+6Y9='I<"\HCAX3+5>*?P/F[I?5S<MNR&V3<3^S3;72./J08G
M&YL)U$K\E5S-MA]RM4ZF9O9YUP.74=;OMV$5N]YG;.UM+)KRR_9;$^*9CP/Y
M'F-QM=C3'68[F:WR]GQ#^!,WU9N04,PAU#GOP>-5OL>:GVBYRK8IGZ76,LH.
MEX+[0ID;X/>YE'IW8AY0['0/_@-02P,$%     @ <X0#5Y@E9ALU!P  S1T
M !@   !X;"]W;W)K<VAE971S+W-H965T,BYX;6RMF6U3VS@0Q[^*)L=<KS/0
MZ,&/+60&0CNEQP%'X&[NI; %T=2V4EF&<I_^).?!P9(<>M,W8"<KY;]K:7^[
M\N&3D%_K.6,*?"^+JCX:S95:O!^/ZVS.2EJ_$PM6Z6_NA2RITK?R85PO)*-Y
M.Z@LQAC":%Q27HTFA^UG5W)R*!I5\(I=25 W94GE\PDKQ-/1"(W6'USSA[DR
M'XPGAPOZP&9,W2ZNI+X;;V;)><FJFHL*2'9_-#I&[Z<D,0-:B[\X>ZJWKH%Q
MY4Z(K^;F+#\:0:.(%2Q39@JJ_SVR*2L*,Y/6\6TUZ6CSFV;@]O5Z]D^M\]J9
M.UJSJ2C^YKF:'XV2$<C9/6T*=2V>/K.50Z&9+Q-%W?X%3RM;. )94RM1K@9K
M!26OEO_I]U4@M@:@P#, KP;@UPX@JP&D=72IK'7KE"HZ.93B"4ACK6<S%VUL
MVM':&UZ9QSA34G_+]3@UF8HJUP^%Y4!?U:+@.57ZYH06M,H8F)F):_#;M)&2
M50I<,<E%#FXKVN1<&[X%!^!V=@I^VWL+]@"OP,U<-#6M\OIPK+0\\R/C;"7E
M9"D%>Z1\::IW@,!]@"$FCN'3X>&G+-/#43L<OQP^UD'91 9O(H/;^8@O,BN7
MC^M:A\#ESG)\X!YO]M_[>D$S=C32&ZQF\I&-)K_^@B+XP>7<3YKLA:MDXRH9
MFGTRI?4<Z(<&,G/!OC7\D1;:=Z?7RZFB=BJ3)!XG&(5Q<CA^W';'815$2;BQ
M>J$SV.@,!G5>LUI)GID%:I2ZU"TG"+=^-X8DZ(FSC1!,(7:+"S?BPD%QQUDF
M&ATSG=PRI@-X5S"].92D.=L'E4[(XA[00J?-=F/IF[VTC?D>3O;UF'K!VHQ6
M/+O<"BW% 0[3?M!MJPBAV!/T:.-7-.C7A5!LVRF7O,B.>H)[XFP;0E*WM'@C
M+1Z4=E8]ZE4J)&?.E1K;X8@(1CU=ME6<1K%'6;)1E@PJNY)L07FN,V(F2@84
M_>X2F%@_W0^:;0'=PM*-L/15PMCWA4G[=;L$A9HSJ6FS3'C4F_!2.Z"8]./I
M,"))X%:-8(<I.*C[1BA:O$+B:IH7>SL(PB#JJ739)01%/J%;/$4[ JQ++*F>
M]\%"(U2U\349=:%K']4F J=L9,M)XV1K&:YDVW880>2-;P<[- B8R;G1V=0,
M2%/WU'ZAV,Y$:0K[,FVK$)/$([+#%!KFU*6.+%6\>EBJ-$G42&Y7@U,L<<A(
MK:7@L JCR".V8Q4:AM4G7NE,_P-B753J2[5ML$]HQRTT#*ZS2M'J@1M>+?>5
M_^';@"$1#OLB75:I)Z&B#D-HF$.7;9+:I="F3&AE*(<127QA[%B$AF%T<WES
M? Z.9[./-S.G-!LT)(R2..ZKL^T"F."(> 1V2$+)JPK:@M,[7G#EH28:)-N/
MEK4_:[:7/G>T0\.XVQ1E"_KL*UZ032P2(F2M&MLLB)/ 4UWACFQXF&PGM/JJ
MN]F,+51;&0XHQ3:TDHCT%Y##"F&R9?92:$<V/$PV'4O9Z-)[Q_K!#I0%,>Q7
M-BZS&&-/$8ZWNK9AD-U6C,I*RY1,%X>-.XXVGA",<3_;.LP(A)X"#'<4PSNZ
MK?4^9%3S8!W-9]TLB#7?G*)M3"$8]I.OTRI 'LT=S/ PS/R:[]>8<VJV>162
MOF+;QI?K<,<T/,RTM=Z%D.UID89OU?8QJ]W5EF6%J!X.%),ER-F=$R?8@;(8
MQ_T*PF$6QC#V%&6X0QX>1I[#BZG0/8^^,S[4K.)"+AUSJG>T96F*+/6VF6^-
M=S#$.V#XHES?E3%LXJ$DUCFC+]1A1Y(P\>6,CHQXN%OKYXQ]<+'LUWL/P"G>
M;M'0=I)827]U(X<[MN%AMEV(ZB#[G[G$9EF(@OYQ@LLJA![@D0YX9!AX/[*$
MB<VR?F@=)G$:0D\]1SK<D6'<+>NY\[/CD[/SLYNSC\ZBCKCZ-A(AZSC,T;=A
M$J:>1$<ZW)'A4\J9$MG7N2AR)NLW;:.IGM\[E?[4T\J?-=M+K[?.*W<@5)2E
MSH>M\Q] $.[K'0?J.97F0*-1<R'YOWH[4P7VX#L(D4[[$CS2HF$?S!%QG(0M
M '"R'V&\'LCKVI0W[8%(HVI=C>6F>].3?&DJMCF9;@U.6<;*.]V/K ^<=Q_A
M$9O,I%\4.6RPIW$B';O),+N/\YR;[*43LCGZ.> 5R.B"ZP3ME&GC.( QA'UL
M.^Q(BD)?.THZ=).=YZA-V13M:XC5P90H]2J:FW='CVQUI.:4;F/X -D8<9AA
ME/AV8@=K,@SK;=TYN^<9=Y84Q*;M 0XP@7TL.PUA"B//,0KIX$Q>TZG.;BZG
MOW^^/#_]>#U[ S[^>7MV\X]3L(.Z$<%A_VC*99<$4>SA'.GH3(;I;"5B<'QQ
M^GKYB?4FPMEV.^R<;?=XZUV;>='Y!Y4/O*HU@>_U0/@NU@&0RW>'RQLE%NWK
MMSNAE"C;RSFC.E\; _W]O=#P6]V8-WJ;-[B3_P!02P,$%     @ <X0#5Q9'
MQ\&J @  .@<  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6R5E6%OVC 0
MAO^*%?4#2(R$0"BK0J0VU;1-FH3*NGTVR4&L.G9F.]#MU^_LA @*+>T7XHOO
M?7GN'-OQ3JHG70 8\EQRH>=>84QUX_LZ*Z"D>B@K$#BSEJJD!D.U\76E@.9.
M5'(_#(*I7U(FO"1V[Q8JB65M.!.P4$3794G5WSO@<C?W1M[^Q0/;%,:^\).X
MHAM8@GFL%@HCOW/)60E",RF(@O7<NQW=I%.;[Q)^,=CI@S&QE:RD?++!MWSN
M!18(.&3&.E!\;"$%SJT18OQI/;WN+ZWP<+QW_^)JQUI65$,J^6^6FV+NS3R2
MPYK6W#S(W5=HZXFL7R:Y=K]DU^8&'LEJ;639BI&@9*)YTN>V#P>"T>050=@*
MPO<*QJU@[ IMR%Q9]]30)%9R1Y3-1C<[<+UQ:JR&";N*2Z-PEJ'.)*D4.:X)
MY 1'6G*64X/!'>549$"6UEB37EHK!<*0!2@F<_(H:)TS3.R3WH+:F0(,RRC7
M??*)/"[O2>^J3W2!4YHP07X6LM94Y'I KH[BV#=8A$7QLQ;XK@$.7P'^7HLA
M&0<#$@;A^(P\?5M^#QG*1TX>'LM];%W7O[#K7^C\)J_XW6:9K 6V2$$&;$M7
M' :$<MP<MG_GRFO\IL[/[K%M\CGVMX<5G&:$LR[EB'+<48[?I$QE6>*>P:\I
M>QKLUX76II"*_</E[N&:-&_[YY ;\^@ :!(%0? "^U+6$?FD(Y]\@+RBBFPI
MK\$1YY)SJC2I0#7T9^$;_^L#K& 8!*,7\)>RCN"C#C[Z>-N9UO7EED<GS1R/
MKF?1"^K3K' VM=_U.>II1SW].#5> -K@CF5B<PE]^B[TTZQSZ/[!R69OE1]4
M;9C0A,,:=<'P&@U4<U(W@9&5.^Q6TN#1Z88%7FZ@; +.KZ4T^\">G]UUF?P'
M4$L#!!0    ( '.$ U<]KLD]*@8  ,L=   8    >&PO=V]R:W-H965T<R]S
M:&5E=#0N>&ULK5EK;]LV%/TKA%<,*=#$(JEGYAAH+&_KL&Y%TZZ?%8NVA4JB
M)]).]N]'/2S9Y!6;;OYB2_*YASR\).^1.7OBU5>Q94RBYR(OQ=UD*^7N=CH5
MJRTK$G'#=ZQ4OZQY5212W5:;J=A5+$F;H"*?$L?QIT62E9/YK'GVH9K/^%[F
M6<D^5$CLBR*I_KEG.7^ZF^#)\<'';+.5]8/I?+9+-NR!R<^[#Y6ZF_8L:5:P
M4F2\1!5;WTW>XMLE\>J !O%7QI[$R36JI3QR_K6^>9?>39RZ1RQG*UE3).KK
MP!8LSVLFU8^_.]))WV8=>'I]9/^Y$:_$/":"+7C^)4OE]FX23E#*ULD^EQ_Y
MTZ^L$]1T<,5ST7RBIP[K3-!J+R0ONF#5@R(KV^_DN1N(DP#% P>0+H#H >Y(
M .T"Z$M;<+L ]Z4M>%U (WW::F\&+DYD,I]5_ E5-5JQU1?-Z#?1:KRRLIXH
M#[)2OV8J3LX7O$Q5VEF*U)7@>98F4MT\2/6EYH,4B*_1GSM6)75>!;KZ7";[
M-%.8U^@:?7Z(T=6KU^@5RDKT:<OW(BE3,9M*U;.:?[KJ>G'?]H*,](*B][R4
M6X&6JC<I$!_;XWU+_%2-2#\LY#@L]\1*^-N^O$'4>8.(0RC0G\7+PPDDY_^U
MOOS/K9\-!NWG"&WXW!&^C^S RCU[@THFH=RVT7X376],A[F+?>S-IH?3$3-1
M'B%1=(Z*353D^J[&M311V'$]U^EA9SK=7J=KU;G@0M;3?<-Y*I!:#-!,O&\Y
MO).V*0UPH*DU42[U ZRI-5%!X#E44VNB0C\,0UBLUXOUK&)_J;@0:%?Q=08F
MU3.[%D:AIM($A3[10+$)P@%VB2820OD>@47ZO4B_":,C(KN-J]P@]KRKMSEP
M;_)M U57ZENQ2U;L;J)*L6#5@4WF/_Z ?><G:&.X)%E\2;+EA<C.$A'TB0B^
ML84(EE2K+5+U0=7Q@S(HN[J\0.D(@$EULK3;809 U)AY)DC-O,#79AZ$"K$+
MS[RP%QQ:!3\D.1.-6N6_OK)Z#D):0Z-M0GQM3UP (.R[FE83Y'J1+A4 !61D
MC46]TLB^D;!2+;*\T9JDRJ)D0M:+[L @P9$YV"3R-#$+ (4=JE6!V$01SW/T
MC05 $>*-I!<[@V]RK+(_<:E$\Q=M,!W561]HZ&O[_ *"88]HI24&8"J+@3:&
M2PCF!M%(C<0GAA%;A?]>UXUUQ8NC>&4+0='8:/\:JRFI^P(01T+#&4 XZF"J
MYQO"D0#3D7J)R2"<V(N)W+)*&=T5+QBZZO+]&I1.+EE1+LH67Y1M>2FV\Y0,
MQA3;G>F[4C+%*[NL@+F@IE_3S1J$T:T:@ D<?>J9&"\:F7:#*<5V5]IK[&8<
M*-*TB-<$!\92 V#8=?2R"<%<BHV%!C4:XK$-9C"FV.Y,VW76J1U]Z<" 8<2^
MD5D3=8U#1Q<,<1DO'1"73\;R.UA4;#5>QT(";B[CZGVS+Y'^>K& 4-CSC(("
MP*@3!;I^"$;#L7P/UA#;O6%34![9FE?L.  R>1ZII*99N\9^1'U=.81S7<_7
MI0,X2@F)=.T0SO'P6%$9;"*V^\1WO6#K^C:-V[7^+@9@C'G^;9JEE>9<Y. 0
ML=TB_L$DRE6606F1\2Y?9]35+2&(@S(*X%1&]3U_">+&,TH&8T@<JTTXBD7*
M'2&Q32HPH\3J+K_7(ER4+;XHV_)2;.?I&.PJL=O5^T1D*W25E2CE>9Y4)WD!
MO5M'%Y[."^=&WS,7(S"M1L80#-]@W:N/P/#(7!PL*['ZKWF<Y?OZ[]SOD$]>
M)A^&&?(!&"0?AHW)'^PAH=:E^*4Y)E#ZDX-Z4]FP5K= ^_K_;LF1VGIW:GSJ
M(JLMV5MP;*QF]+O7["79XHNR+2_%=IZWP?(2N^4=UFR;,'BFFO:31&X8>KYN
M@R!DX&-"]?^H8Y 3ASC"^G^R(*=' \<=*R"#_R5V_WNZ:&WZ33LZIA] CNB'
M.&']$">H?WIR.%6P:M.<"@JU]O:E;,\@^J?]R>/;YKQ->WZ/;Q<8>![CVV5[
MKCC0M\><[Y-JDY4"Y6RMFG)N M7=JCTY;&\DWS5'8X]<2EXTEUN6I*RJ >KW
M->?R>%,WT)_?SO\%4$L#!!0    ( '.$ U?"MD:@W (  % (   8    >&PO
M=V]R:W-H965T<R]S:&5E=#4N>&ULI59;3]LP%/XK5L0#2!NY. DM2BO1RS2F
M,2$ZMF>3N$U&8G>VT\*_W[&39FUP*[2]-+Y\W[E\ML]ILN7B6>:4*O12E4R.
MG%RI];7KRC2G%9&7?$T9["RYJ(B"J5BY<BTHR0RI*MW \V*W(@5SQHE9NQ?C
MA->J+!B]%TC6547$ZX26?#MR?&>W\%"L<J47W'&R)BNZH.IQ?2]@YG96LJ*B
M3!:<(4&7(^?&OYY'&F\ /PJZE7MCI#-YXOQ93VZSD>/I@&A)4Z4M$/ALZ)26
MI38$8?QN;3J=2TW<'^^L?S*Y0RY/1-(I+W\6F<I'SL!!&5V2NE0/?/N9MOF8
M %->2O.+MBW6<U!:2\6KE@P15 5KON2EU6&/ ';LA* E!'U">(2 6P)^KX>P
M)83O]1"U!).ZV^1NA)L11<:)X%LD-!JLZ8%1W[!!KX+I>[)0 G8+X*GQE+,,
M3IUF"$:2ET5&%$P6"CYP'91$? E;%5S"7-^.#46W+.451>=?N907Z/R1D3HK
M@'2!/J+'Q0R=GUV@,U0P]#WGM20LDXFK(%3MT$W;L"9-6,&1L#"ZXTSE$LTA
MO,S"GYWFQR?X+DC4Z13L=)H$)PU^J=DEPMX'%'@!ML0S?3\]L*7S?][G_^S]
M0 S<71IL[(5'['V#^E7"Z=O.M6'&AJF+U&;\T8^'89BXFWVY;+ PC.)#V,P"
MPSC 5X>PN0WF1?Z@@QVD&79IAB?3U!<<03&#:@SUAL%S%(*R]!4I09@L25/I
MLE_P2O53L:G1.(CV XN"(>Z)84%=18,>:F9!X3CJ"3NWH :#,+(K$75*1">5
M."P QXX^>GL*0?#FL*96F(>'O70M,!P/AGXO7QMLB&/<2]C=*Y$5%2O3FR1*
M><U4<_&[U:[]W9BJWUN?^-=3W[(^@W;9=+>_YIM>>T?$JF 2E70)KKS+*PA9
M-/VKF2B^-@7ZB2LH]V:80\NG0@-@?\FYVDVT@^Y/Q/@/4$L#!!0    ( '.$
M U<KSN:N[P@  ()#   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&ULS5QM
M<]NX$?XK'-W--9F)(@+@:VI[)C%%-IVYUA-?>A\Z_4!+L,4+1>I(*D[^?4&)
M$45@B95L).T76[2>?0CL8B$\N[0N'LOJ4[WBO+&^K/.BOIRLFF;S9C:K%RN^
M3NO7Y887XIW[LEJGC;BL'F;UIN+I<F>TSF?4MKW9.LV*R=7%[F\WU=5%N6WR
MK. WE55OU^NT^OJ.Y^7CY81,OOWA0_:P:MH_S*XN-ND#O^7-Q\U-):YF!Y9E
MMN9%G96%5?'[R\E;\B9Q=@8[Q+\R_E@?O;;:J=R5Y:?VXOWR<F*W(^(Y7S0M
M12I^?>;7/,];)C&./SO2R>&>K>'QZV_L\6[R8C)W:<VOR_SW;-FL+B?!Q%KR
M^W2;-Q_*Q[_Q;D)NR[<H\WKWTWKLL/;$6FSKIEQWQF($ZZS8_TZ_=(XX,J#N
MB 'M#*AL0$<,6&? ) /FC1@XG8$C&_@C!FYGX,I#&C/P.@-/,B!LQ,#O#/Q=
ML/;>W84F2IOTZJ(J'ZVJ10NV]L4NOCMK$9&L:)?B;5.)=S-AUUQ=E\52+"R^
MM,2KNLRS9=J(B]M&_!(KKJFM\EY<E8M/JS)?\JK^BS7_<YLU7ZT7'XMTN\P$
M^J4UM3[>1M:+GU]:]2JM>&UEA?7;JMS6:;&L7UD_#ZXO9HT8>'O[V:(;Y+O]
M(.G((&_$\N15M1N7&(GU[U_Y^HY7_P&8KO5,U^5Z+1( I8GT-&^78N(BD]+<
MNDFSY51,[SK=9(VXUI#.$=)_7K^WWC9-E=UMF_0NYU93"OI*1$''&NM9/_!&
M;$C"=?.T*K+BH=9Q)7JNWTHQPZ'93*RWPZ*CAT5'=SS.",^[-$^+!;=>"+_M
M%\Q+*VVLB"]>6XR\LJA-";1*]JSNCK7=8S]?V1>SS\?15Q'49Y0-49%V=.WF
M_Z;>I M^.1&[>\VKSWQR]<M/Q+/_"@75)%ELDBPQ1#8(,3N$F)T4XE/"NF?R
M-&%5$=278JI"6$"((X5^KL+$A'TR1,4J:DH<ZLFX!!B7Z[A^/_R![YR#[QRM
M[][7]7;G/+'UBLB(#6'1[LEUNVF]L@IQ/A%O=!OM8]:L5CQ?6N)48O'U)B^_
M<K%QI%^.DPMRNH/FDHI@S)6\KIW(N9EDDBPV2988(ANL!O>P&MSOOQJ@%>"B
M::<BI 2(M$,_-_XFR6*39(DALD'\O4/\/6W\;]O03MOC]M):E&NA0>JT/7M
M(?70I$81D8IP/.))VRA*$Z.(!+G1P%G^P5F^UEE"G@CQ48B3LS@N%HNO5E.E
M19VG>]FS_$,<J-M3+>0['_4=BHA0Q%Q%3(/ D;;5&$!1R7LPD0^[+SBX+]"Z
M[Q]B-\G+&CRB!^AV@2*B /4/BHA5Q)39+@DD_Z"P@8/"@X/"IYQ<_[XMQ!''
MWAUQ*.2\$%U<*H+ZGBO-*M*.[MS]UB19;)(L,40V"#&Q>TELGWIV10/;4>G2
M H!0.:X=9G#8"ER729^W<P#G4RKMSC& FA*?D5 ^OP) 2D(W=. L(4=5!?*4
M//DUK0Y2 '8G01,%@%#?9?)6HQ_@N:EBE"TVRI:88AN&NM?RY#0Q?U)X*9XM
M*D3-%E7FLX YOB-GBXHC3F"'<KJHL"EQ U]6.PD I"QT_9%#"^G%,M&KY1^B
M^+HQ:'-+A1#5^]JYG)U9)MEBHVR)*;;AJNC+ .0'U ' E>#@:8A"(OWHSUX'
M1M6_4;;$%-MP'?0% **O )RC #LJ;9*CD B 4.(HVRM*%..0!+O7T&F]:B9Z
MV?P,)4AP&8U#(APR!R!3WPV8[$1<2Z-,0R_V<IKH];1.$':FVET$A43Z 9R]
MBYADBXVR)020[&*ANV.GAUZT$[UJ?ZHH):C8O@8@D"S5#_#L()IDBXVR):;8
MAJ'NRP_DM/K#2>$-\?Q4(>IQ3ZU,P-)4Q4'25$6-2%.@(**1IK17]_0T=:]I
M/H+NI*I65KJ/@)P./+7]J!W@V?U'DVRQ4;;$%-LPU'T5@IY6A3@IO 3-%@!"
M0SFV:G6"A<25\V .X"A1/OD!U)3:H>W)U4X 2 +'&^M$TJ-.O5[=_Q!E2D]H
M[*L0UY9[P/JYG)U89CO[9EO[WZ.W3_MZ!?T!]0IP)>#/ N"0B*IEC"EQ0SD%
MT7I(C$,2[%Y##_?:G^JU_SF:C^)R'H=$5.WWN\RELM/0YP9B'))@]QHZK1?*
M5"^4;[9W>;80:^^>5UGQT"["Q?Z!KZ.5B>U%N( &(-1SY4<C]&,]>S,RVAPW
MRI:88AM&O5?Z5*_T3XDZ&&D/3QL5HASF5.5-;!K(M1( IN0-+O-';C;2]:6]
MS*??K6U.\;XY#HEPR!R 3)GG*D<F2&7+;H2IQJ1%+\3IT]OG%.^?XY"(XAUT
M'!(#D"ECE/FRGU#<T%&]C*7/;J,ST(EX'QV ,.('RNYLM)-NE"TVRI:88AL^
M!MK+;?:D9CH87H8WTP$(D\XH$5-EN&/[MJT\"PJUR1U?SA8(1AW*;$G3)0"0
M>(R.'099KV/9L[OIL#_Q;CH H:'M*RXUVDTWRA8;94M,L0U#W>MM]J1N.AQ>
MO)L.0)22!0.ZZ:%#G$!.%ZCK+A>W8@ UI=1EGOP &P D/O78R!-:[.C)\_^#
M9CK#F^D A!+Y<T@_E[,3RV@SW2A;8HIMN"IZ0<W^1\UTAJMO'!(Q51%/Y7+@
M'  I'U:X^$9N-?1OK[V9N28UPQ\]QR$14V6X^$R6"Q8 2O$9WJ3&[C5T6B]=
MV?.E*[H3X=UJ $*=4&[TZ,=Z]E9DDBTVRI:88AM&O5?;3*^VGUJP8'C#'8#(
M!0NFBM\P\.7^!(!2T@:%)/"]QL[#O<YF>IW]C'(%PWO>."3"(7, ,G5IJ!R7
M4*8$91IZL1?A3"_"==4*AO>.<4C$4+D^QR$Q )D2+Y0?1TIPW/"_\7H)ZSRI
M8XS*60?O& ,0J%JA'^#9_V=GM&-LE"TQQ38,=:^TG9,[QGAX\8XQ %&J%0 &
MK%8 .*A: <' :@4 !*L5LZ,O%VB_G4+(TH>LJ*V<WPM#^[4O%F^U_\*'_453
M;G;?-W!7-DVYWKU<\73)JQ8@WK\OR^;;1?L5!H>OW;CZ+U!+ P04    " !S
MA -7%@+;A.((  !5*   &    'AL+W=O<FMS:&5E=',O<VAE970W+GAM;*V:
M87/;N!&&_PI&O>DD,W%$ "1%NK9G'.?2IM/+>>*D_0R1D,6&(G0D9,?WZ[L@
M:5(D%K ]]1=;HI?PNUCL/@N09_>J_M%LI=3DYZZLFO/%5NO]Z7+99%NY$\U[
MM9<5_&6CZIW0\+6^73;[6HJ\O6E7+ED0Q,N=**K%Q5E[[;J^.%,'71:5O*Y)
M<]CM1/WP09;J_GQ!%X\7OA:W6VTN+"_.]N)6WDC]?7]=P[?E,$I>[&35%*HB
MM=R<+R[IZ544F!M:BW\7\KXY^DR,*VNE?I@OG_/S16 4R5)FV@PAX->=O))E
M:48"'7_T@RZ&_VEN//[\./JGUGEP9BT:>:7*_Q2YWIXOD@7)Y48<2OU5W?]#
M]@Y%9KQ,E4W[D]SWML&"9(=&JUU_,RC8%57W6_SL)^+H!A@'OX'U-[#Y#:'C
M!M[?P%M'.V6M6Q^%%A=GM;HGM;&&T<R'=F[:N\&;HC)AO-$U_+6 ^_3%E:IR
M"(K,"7QJ5%GD0L.7&PV_(%JZ(6I#KD2S)9\@X@UY\[T2A[P F[?DA'R_^4C>
M_/*6_$**BGS;JD,CJKPY6VI09L9?9KV*#YT*YE 1D]]4I;<-^174Y-/[E^#1
MX!9[=.L#\P[XST/UGO#@'6$!XXB>J^??SCQR^##+O!V/.\;[?2]KH8OJMENV
MA2YD<XI-4S=,B ]C4OJTV8M,GB\@9QM9W\G%Q5__0N/@;YB/KS38Q.-P\#CT
MC7[Q!2I0J1IT+71WQNV=ILS<79QPSOCJ;'EW+!\S"R*:#&838=$@+/*&XC+_
M+V15M[2U@DJ4J2HK2DFJ7K&Y:CYG9M$?3&; VE;/#6#TF@%\I<$F\Q0/\Q1[
M WA90KZ+*I.F *Q%#K5QK3&/NV&BXS#1=!9*Q";$P[@:Y*V\\CY7=Q!"53^0
MWG4BAL!B*E>6@BA@R4RF;<3"@.-"DT%HXA7Z44)PLD)TT*IR(G:JUL6?[05,
M:6*)H$%DJM!$*F)%TS3"M::#UM0?\R-I)NPFY*1HFD.[#C+5:#2?4TM+3,.9
M7MLF9 ZU-!C9%7CU_AW:%/+&).U; HKSHMFK1I1&NF@:B:OMQSR6,J\\B,D)
M=ZD](BWUJKW9BEJ>F)XCA[G<02/6.!=!/]1DO?)HO@@0JS"FL4,H&X4RK]#O
M%32$9?$GZ(0^$1JABLB?V594MY*\N84Y?^LL[?W(TVI 0VN";3/*8Y?PD;+4
MC]FK5F,S*]CM2FA3KRS$NBC=Q9N^*GY?:[3I9(P IGX"7V:9.AC*0?F1Q9U8
ME_(=T;7()>IZ:$<DB=)X'CC;+$JY \ET9#+UHNSBFY%%OB@MC^6B.B,$)<F\
MD"-6JY12A\P1B=3/Q.M:[D5A&@+(7TFT^(E*1&AG9:YMXU(W$I$^#XFPNE%9
M-MWB- GFPFPK2."(!PYU(P:IGX._ZZVL84=3UR#25YYMLJ56^;!M3AAU=89T
MQ!_U\V]LTVNS^S,<@0:P$XMJM:G&@CGY$*-PM<*ELA%]S(^^(;OWXL&5*PS!
M&&6K(Y+U>R';C@9I[  >&X''_, #C?5!3LHN*M.FV GCT3RG4;.5:V&RD7;,
M3[M'E9^[I/Z&)S7#P#97Z+69RAN9QKR8 !A+45>@KY:0W@<\T-SZQ\F*S5,;
ML7)-W@@9YH?,OR2T,T. 'U!Q-C).6&RM0<0J<E5L-H*%^<'RY7$CMZ_579'#
M-*X?R)M^5_<6W=:A/M@\B9+86J$(FRB/7),\8H?%WK;&%/;F.9M/YL772_N7
MUQIMZO6(,^;'V?6AAIZS:?>?$#V(E'YX1_:E,/B 9D[^<2CVKNT>PS 6QE9*
M8&9QG#HB-L*.^6%W7:M,RKPAFUKM)OL2OVJ;:_&\ T-LG.1C(_F8GWRP2U5-
MT;?)^[[-@>;_";TVVK#4QJRH8__/1P)R/P&/UT=1:>C\"^"@I[/@" Y9-"_B
MJ%7H8"$?6<C]+!P*T5A\"B2M4=T(^&A*YVL9,V,!=50?/O*1,V_U^514L/U_
MSMFEE[,O/KQ\I=&F7A\=V/JQ>UU#DU_L(6FAP1H.PDM5W9YH6>^ZHQ&3+%6[
M:?%T8=R'W=Y7V^1DQ;EC/\Q'.G,_G:=ER/S5.)'5,B\T6:L:!H2XXHO.YG$8
M\9#/E=MFJSAUG9GQD=O<S^VO<C+M+U*.4#CF:6(E.F:7IHFCEO(1U_RI7>+Q
MK*]%]0,R)Y-[W9ZB^5:*O2EDJX1:<X[L'=,T<O1*? 0N]P-W.N<OT8U0E--@
M-3\%QNSHBJ7,H7S$+7\*MUBR;H;"59HN%56.;"3MPHH8.3H$/@*7^X%[?214
MBY_DOM#;K2IS(U=59"VWHMRT#<-N7ZH'V1Z,E.VS.:U(\X*C1([@ET96;#!(
M,\<V-1PA'3X!Z4DN@-0=.-=HE?T WS82XG;[SCQM01\38=M2EEB/B6PS!_/"
MD=;ABVE]O('8($A$/<#(35?)O*=#[%@0.-(B',D=^G>VO\(,9^TIQG!\"[L=
M2;+^F!1"89Q$E=M;V22:%R+,:.52/9(W])/7S'TNH=2;WJ[H)+[KHF&:T3M1
MMGECV O@UW61F:1P.H*@-4Y7\QX5,PL3!X##HX>@?@!?/5L[$< U>5M455L!
M8,L#R:%RU"6;N3R*[+Q "$ZIJZD(1S2'?C2_S"<)E_W>V!AF24SG!Z:(61C$
MKKUU.,(Z].^M;P[[?=F^Z0#T@(U:5JKF4'?=AG%A4\*(1=6]+P,5%NU\PU?=
M=[_6:-,9&=N \*EC9&AP(9!M76X?I>VZD\9,[ O=/1=")\&F.X_IO.M"K)CS
MD54X=@!AX@WC%U6=M/$ZVE3!RL,*-1Y!;X/QX@B^TFC3R1A[B]#?6[3TZNI]
M85Z4FIX4'_<1C^<JTP,5(G)HLV&QXU"S.X7$*J=8-Y$Z.M1H["8B?S<Q=2Q_
M\LSB_W6UES-Y!26=5R;$*)Q[NCQZ06LGZ]OVO37(*!.8[J6FX>KP;MQE^T;8
M[/H'>GK5O>$V#M.]</>;J($>#?2Z&Q@R>+^"R:^[=]BZ+UKMV]? UDIKM6L_
M;J7(96T,X.\;!3O9_HOY!\.;A!?_ U!+ P04    " !SA -7+,E3J-D&  !)
M$   &    'AL+W=O<FMS:&5E=',O<VAE970X+GAM;)U8^V_;-A#^5PAW'5;
M\2N/=<T#<))N[= V09RV&X;]0$MGBPA%JB05)__]OB-E14[=="C0UI)X/'[W
M^N[8HY5U-[X@"N*NU,8?]XH0JE?#H<\**J4?V(H,5A;6E3+@U2V'OG(D\[BI
MU,/):'0P+*4RO9.C^.W2G1S9.FAEZ-()7Y>E=/>GI.WJN#?NK3]<J641^,/P
MY*B22YI1^%A=.KP-6RVY*LEX98UPM#CN3<>O3O=8/@I\4K3RG6?!ELRMO>&7
MM_EQ;\2 2%,66(/$SRV=D=:L"#"^-#I[[9&\L?N\UOY[M!VVS*6G,ZL_JSP4
MQ[V7/9'30M8Z7-G5&VKLV6=]F=4^_BM62?9@U!-9[8,MF\U 4"J3?N5=XX?.
MAI??VC!I-DPB[G101'DN@SPY<G8E'$M#&S]$4^-N@%.&@S(+#JL*^\+)!QM(
MC,6..">?.55%5]F%.*T])+T_&@:<PK+#K-%XFC1.OJ'Q0+RW)A1>O#8YY9O[
MAT#70IRL(9Y.GE3X9VT&8G?4%Y/19/<)?;NMR;M1W^X3)GL1K/A=&6DR);68
M!1D(J1:VVIO4[6U7QU7SRE<RH^,>RL*3NZ7>R<_/Q@>CPR? [K5@]Y[2?K*.
MPT9\I,G%J?3*<Z0N^5 # WCEGVNZ"^)4V^SFWVVF/'G8=E-2A@S$S\]>3D:[
MAVUFB(M;"'#=K5>F5:45Y>*B"C:6G;-&9;XOWIIL('YAL<GH<'KQ-CZ-#X5U
M(A0DFH4S6U;2W#>++P3,DS!;RY5T)#+K*NNBE0-QC5V->!+3X"-EEGT!3$%E
M4FLLF$!+[ "BRME;E9-C?RW4G-R.A2<S82@P:6 GB^1U%H"V<@K\I* !G(>_
MM6LM[)Y;2(]"-/4"Q%([5L%A8;=)EQ7Q):=;L%[%B24@IK0*"JF'Z$14RD3S
M/PYF@[ZXEFHE4VC/"B3F %[K+,L@5/"M%T@4L/A++5T@Y^.N32R=XW#,K%Y*
M)]Y!# ?1G825H6/*@\4/2A@GV*Y1'A]Q>EE9PV42/U;DN"OX;QL=.3>A8%\^
MTA+%8R!0@B7<KZD-0S1?YKGB@&^BE=K;Z'WY76]S$HCS6M>AZ(L_"+U+R<WL
M07=C=T8O(005J8U0?( OY[:?0@(4SM;+(D9B55@DV8Y=&432UW.O<H6NAG)$
MSQ*?K=,Y3$!T3,Q96/C&:LY1^/Y=R!_JH;.A2?T^P+2!;M/DU,$7OA"?%*PP
MXJW7 .A?##9.;,V18NY ;L77=O4!76'A&T$/V.8S0JMT/QAE!MO1T@EI%RF7
M+0>2I2L4./2@./_0=@Y775-6&*OM\OX1>:3U)_UT2;;2Q"+C7P^]N**JGFO4
M.K3'*+[@!$AQ3-K^5RUDX!6,.*R%HY^CU^(;QW>KK1&:KCG>G!S2>RJ!@K"
MQ%UA".'?L^GU)^'O/7I/\C5]J57T:?_'71^5/OA\35TQ%U6YM>EM\%MM)'"S
M0S.+#FY\>O)6JSSZ>=%J\ \:X)>-&HU?T+FI[=R@\@Q.@)-VQ_'+A.N)2'AU
M]TBR^S81XQ'_&8W%7_S[_[48&UK#/GIB0*]]0'2Y/KH6H]<A ^5Z]-EJ'T(/
M)W TF%56*B![IM-+1 8AXP1!MF"(C4'!:%'*&Q+4GL9A0P[49>S?*+("?"X7
M"_3(Z#99VII/ 1 +1@<[3)%W0 #-&"^9]VO43*ZP!2W)V1+;K.\>T63_]R(E
M&C!9EB+%"6IX(!J(F5H:M0 90^H[T!7V)NC L-5?O"U:]M5!L$ES PN@5=B-
MSQ:"G+N)'-&[+6@JHYC1N:WG85'KJ(A]Q)5UBR,LN+:94?H1CW)E0R(:2G<T
MZC$B)][#<@HJ8U6EVA 8*U"YB&9F?90I0$,[/.+GL4<A]5-.T!T_XYBU5W)1
M>V)0?$C,=.A$L4+7EBH.\H[=>\ZR03&=B.D2*1OAQDSZNR[0;S;'I@X'BE]F
M6%\64KU @0UB_Q 7Z.I4A50+X_U4"_V4SS6H F8PE\'FE0+;S-GV)L\8(*(5
M$OG^--X?X6:A-9OZ<78>X=]*W3CSB@RN'7.T#\U#GQ3H>_E<9C>-LLCJ3#U)
M6Z:MYU W?!"Y4:8+V 8_&'1]5369&QT3!ZBO$,XQH1$9L?<\^G(\>KY6_1 ,
M.#\CROVZ,#:/51S C!V8,DI&)6QD2#,BLBBTS:-QG1N("\Q]G:+F@:/A8\XK
M*(6/ZI0@TJ]Y(!?S>S&=G>V(W8-(6WO[XK='O,0KF'\B/ZW_\C?#'[==&8:=
MZUU);ADOL9$33$@WO?9K>T^>INOA@WBZ9+^7/#Q@M*,%MHX&O^[WA$L7U_02
M;!4OBW,;</6,CSQIDF,!K"\L:KAYX0/:_STX^0]02P,$%     @ <X0#5_7N
M@\YF @  B@4  !@   !X;"]W;W)K<VAE971S+W-H965T.2YX;6R-5%%OTS 0
M_BNG3-K3:+*T&]/61FH'$R -5>L (<2#ZUP3:XXOV->U^_?8218*=(67V&??
M]]UWOMR--V0?7(G(L*VT<9.H9*XOX]C)$BOA!E2C\3<KLI5@;]HB=K5%D3>@
M2L=IDIS'E5 FRL;-V=QF8UJS5@;G%MRZJH1]FJ&FS20ZC9X/[E11<CB(LW$M
M"EP@?ZKGUEMQSY*K"HU39,#B:A)-3R]GH^#?.'Q6N'$[>PB9+(D>@O$^GT1)
M$(0:)0<&X9='O$:M Y&7\:/CC/J0 ;B[?V:_:7+WN2R%PVO27U3.Y22ZB"#'
ME5AKOJ/-.^SR.0M\DK1KOK!I?4=G$<BU8ZHZL%=0*=.N8MN]PP[@(GD!D':
MM-'=!FI4OA$LLK&E#=C@[=G"IDFU07MQRH2B+-CZ6^5QG'TD1DCA%2Q48=1*
M26$8IE+2VK R!<Q)*ZG0C6/VT0(FEAWSK&5.7V ^AULR7#IX:W+,?\?'7F4O
M-7V6.DL/$GY8FP$,DQ-(DW1X@&_8ISYL^(8'4G? !#?*"".5T+!@P>A_.=Z;
M;TLWVD\7NN?2U4+B)/+MX= ^8I0='YV>)U<'Q(YZL:-#[-D_R@/?[G'+,-,D
M'[[OTWZ8O?T+!G!\=)$FPRNX+]$BE.(188EHP!!P:1'!J2WX.F!?A_!)>]P=
M2OQ#H"7C][)]U=[QOP%?_5SR)5HB3'.J&7.X)\A]E4Z\HK]$&N)];QWO]$>%
MMFBF@(,F9MLJ_6D_:*9M?_UR;Z?4K;"%,@XTKCPT&;SV?6W;SF\-IKKIMB6Q
M[]UF6_IAB38X^/L5^;?NC!"@'[_93U!+ P04    " !SA -7%R*PX:D$  !,
M"@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6RM5MMRVS80_94=QDW;
M&9;B33='THPMUY-VQHW'5N*'3A\@<D6B(0$5 "WK[[L 15I.%3WUA>0">SE[
MN+O ;"?55UTB&GBI*Z'G7FG,]G(PT%F)-=.!W**@G8U4-3,DJF*@MPI9[HSJ
M:A"'X6A0,RZ\Q<RMW:O%3#:FX@+O%>BFKIG:7V,E=W,O\KJ%!UZ4QBX,%K,M
M*_ 1S>?MO2)IT'O)>8U"<RE X6;N7467UZG5=PI?..[TT3?83-92?K7";_G<
M"RT@K# SU@.CUS,NL:JL(X+QS\&GUX>TAL??G?=;ESOELF8:E[)ZXKDIY][$
M@QPWK*G,@]Q]Q$,^0^LODY5V3]BUNNG4@ZS11M8'8T)0<]&^V<N!AR.#2?@=
M@_A@$#O<;2"'\H89MI@IN0-EM<F;_7"I.FL"QX7]*8]&T2XG.[/X0QJ$!'Z!
M!WQ&T2"],UD(;BF;#0Q%L'J#[.#MNO46?\?;".ZD,*6&7T6.^5O[ 2'KX<4=
MO.OXK,/?&Q% $OH0AW%RQE_2IYLX?\F9=#48";=<,)%Q5L&C80:IS(P^E6_K
M+CWMSG;,I=ZR#.<>M81&]8S>XOV[:!1^. ,V[<&FY[PONE^R4;*&)1&KJ(:I
M/DP)2U<9J.#/%;X8N*YD]O6O4_C/1CB-ORV) -Z_F\1A\J%_WW#-BD)AP5P_
MR4U?,YU&)W,-6<6TYAN.N6N:',C"E @$M#7?E:C0+6V5S!M*C*QJ)IH-)=DH
MS .@M@.6YZX6Z4=QT<X@%[SUEK]"HA"J#:]AO8<"9:'8MN0969("&?F@$<%E
M%XW]8["LTO(-XCTA^9NB=] (,Q92[8&)W!HXLH2-N;9C#7[B%H]L-.WKGR][
M0E:EHI!UVQ-H>P*HHM%5=*?S@V72/;H56^L]/!+B7EA>K;[ !4S])$T@CH,A
M&5Y G/CC*(%T&"0DVS$ 2XM.03SVA^,(1J,@IITX\M/I&-(HB$A:V<E(A97Z
M<1)!%#J5D1^/1Q#%04C"[6KU$89#")U^/#Y\?"+F%7D90N34QA.R<%!6TA#;
M'=@+TO%'5BT,G>(%#&,_GD[[A2[A1_[R_Y.4C/V(5)*I2XS 3/S1-(5T%(R^
M82D=^],XA6'H=M+8GT:192D\8HE4D@E,@I36HL@?ID19=,121TY$CHYI(@;"
MA.@9VSTB-Z3OY 15T]0?I<=416%*4<)^Y;- I@1Q\VW3/2'5=R95#DVGTC<"
M-9F@XM4E;-G>S3A@RNDCG874E IRVP)T.N;/- _1,BP;*GQ4KMEHR:?MK&IR
M+@I@M6RLDQWU57EPM6E$SM85!J\0^_A:5ECM2:ZH@>S8O>.9DEINS(\:'C\]
M0=9-M:WB&=I.= ."?)"R&PZO0$"N*]X.'QKA)3,.0",T+6G;M[[-9\N4H;%.
M4=_L,&U3LQ[7K'+>VCM/3L'^B[Q7:LWZ<G1%=T/LU6OZMTGDMY5G7)N_U7(;
M&B["8$KG=E79J:6ISD]K152DG=:IDV-P=,+3V"_</8:FK/T=[6'?K_97I:OV
MAO"JWMZS[I@J.#%8X89,PV \]$"U=Y=6,'+K[@MK:>B,<9\E7?=0607:WT@:
MH0?!!N@OD(M_ 5!+ P04    " !SA -7K6"8S^H$  !A#   &0   'AL+W=O
M<FMS:&5E=',O<VAE970Q,2YX;6R55VUOVS80_KY?<5"[(@%26R^V[+P92-(5
MV]"L09*M&(9]8*2S3902-9*RDW^_.TJ6[=A-&R0AJ2/O[KE7,F=+;;[:.:*#
MQT*5]CR8.U>=]/LVFV,A;$]76-+.5)M"./HTL[ZM#(K<,Q6J'X=AVB^$+(/)
MF:?=F,F9KIV2)=X8L'51"/-TB4HOSX,H6!%NY6SNF-"?G%5BAG?H_JQN#'WU
M.RFY++"T4I=@<'H>7$0GEP,^[P_\)7%I-]; ECQH_94_?LO/@Y !H<+,L01!
MTP*O4"D61##^:V4&G4IFW%ROI'_TMI,M#\+BE59?9.[FY\$X@!RGHE;N5B]_
MQ=:>(<O+M+)^A&5S=A@&D-76Z:)E)@2%+)M9/+9^V& 8?XLA;AEBC[M1Y%%^
M$$Y,SHQ>@N'3)(T7WE3/3>!DR4&Y<X9V)?&YR1_:(0S@/7Q"LLV>]1T)Y:U^
MU@JX; 3$WQ"0PK4NW=S"+V6.^39_G\!TB.(5HLOX18&_UV4/DO (XC!.7I"7
M=!8F7E[R@H46G(:/LA1E)H6".R<<4F:YO?8VX@;[Q7&1G-A*9'@>4!58- L,
M)N_>1&EX^@+800=V\)+TR2>T%O$(/E=HA)/E#$29M\BQC1'\<X^/#BZ5SK[^
MN\^ EU4T$>_!NS?C.$Q.X7Z.<*6+2I1/H!H%WCZH*: &2EV^SUB[4N)!(>@.
M67N8&@,E9%E/J<!JPQNTDDHZB?8(V$7"9'-O1XX+Z@(5>Q[T="HS8F=ZAL91
M_P#*=D.=8$. WQ:5,,Z'J\=H+:Y4YYK@D:@2_=_*H@L+A;:L MS:.-Z-1J?V
M&7/+])/W+> C=3N:I0599JJFE&[],,.2#%<-H)PJ45K'CEAT3 W8I;#P-NPE
M5*Q*^;Y#1"*D'0$%N8.]QN#<W"""E8] >8]=WGNN34H,WI<5^BZFGM@3@)"1
M;60ZN8:M55LV+-$@" Z0HM9K.Y440*ES-C"7&15"#@>TIBU=6U)K#T](-J,J
MFL)&+NPUF#O"NG]GY7]O@,>\7GW>3IL.Y%N(QQ&/QPF-PW3(X_%X5:P[Y\?T
M$Z7\>S?7QL$]FN+9D02B$:001W"O'45L1^%Q3&,2C5G5>$1CF@SA6G#V^ISK
M/*FD>.@2<;\SIS6Q->FW'<"5,]:&KTVB P-2&QTU\W# E"%]QX/4,T:Q]V+*
MI.AXDS1BKN'6J3&31N--TK'/'\)']_344?:2G#3J3FSZI1)/OK0@/1J/!XR%
M>Q#(HJHY-61)[$C%=)!2G [A@(<;KFJJX850-7LT/2)3V9!DJZLL_95(0L0"
M?5T;Y&?".JB.@^<;@[29KDDBN0H[W[:%^L-Y?-)I?TV.?EFAO&A1WG8HFY[@
M4^S@;VIC]I NRIT&..Q1UJ:]=/1J4=/M)+= ?8.REX<=41]6+KIE%^V!D?3B
M$'[F*:;IN_P[NH>]D/G;Z:ZN*N7O2,J43%CJ6.1\\G7S#FR>9,IW#[I:-Z-%
MD?JQIO.LY[PF9E<,J!(R]_)%P89M=&POF?H7(:+B;*^;/36]$KQ;JYW%9('1
MQ:ZWN8%PWTJW>MMSMF=.A@CBC3;PW=,A'*^P[7M;]#>>?06:F7_<6O!A;EZ
M';5[/U\TS\;U\>;Q?2W,3)9\-TZ)->R-A@&8YD';?#A=^4?D@W;T)/7+.?T/
M@(8/T/Y4T[.B_6 %W7\5D_\!4$L#!!0    ( '.$ U<&F S=+0,  " '   9
M    >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;*552W/;-A#^*SM,)B=6I$A)
M5AQ),Y:=3-.9=#RVVQXZ/4#D4L08!!A@*3G_O@N09A7'T:47$H_=;[]]8G4T
M]M'5B 1/C=)N'=5$[662N*+&1KB):5'S365L(XBW=I^XUJ(H@U*CDBQ-%TDC
MI(XVJW!V:S<KTY&2&F\MN*YIA/VV166.ZV@:/1_<R7U-_B#9K%JQQWND/]I;
MR[MD1"EE@]I)H\%BM8ZNII?;F9</ G]*/+J3-7A/=L8\^LWG<AVEGA J+,@C
M"/X=\!J5\D!,X^N &8TFO>+I^AG]4_"=?=D)A]=&_25+JM?1,H(2*]$INC/'
M7W'P9^[Q"J-<^,*QEYUG$12=(],,RLR@D;K_BZ<A#B<*R_0G"MF@D 7>O:'
M\D:0V*RL.8+UTHSF%\'5H,WDI/9)N2?+MY+U:/.[(80Y_ +7PM5Q^,+'KYT\
M"(6:' A=PATZLK(@+,/]*B$V[-638C"R[8UD/S&R@"]&4^W@HRZQ_%X_8<(C
MZ^R9]38["_A;IR>0IS%D:9:?P<O'*.0!+S\3!0=DX)/40A=2*+@G0=CX&+SF
M;P\W>QW.-]*E:T6!ZX@[Q:$]8+1Y]V:Z2#^<(3L;R<[.H6]"CGQ>?DC6C72%
M,JZS"'\_X!/!5IGB\9_7'#AOHJ^*";Q[L\S2_ ,\U B54=S!4N^!Q$XAM-8<
M9,EA$]R<A>&H*2E"IYD*"@CE5'B&^**<+'#Z,*3O!@ML=F@AG\:C,9]3_\E@
M]/0'G+>03>/YQ=(O9O%B.3\MTB!]$:?Y#*9I_#[-X,$0I[0XP^F%MJO-48/4
M0.RY>RZ%X)F_KC@2@<0R7DPS7N3S>+Z\&%UX24;J0G4^5OM.6*$)D2=':YQD
M\SQ8AT9W4'8DT7$;UER'L#<'M#H8=MW.R?(;5)TNXSXDIN'![#CBG)&=4%RV
M/A?.&2Y?;_@HJ88"+?%DAL)B*0DJX;/D;4S@RGEWQE2$J'^7CY""_WL_1.2U
MLD].IE:#=A]FLV/'.DW] !M/Q_%_U4^]_\3[M^.+L'NI'2BL6#6=7,PCL/T\
M[C=DVC #=X8XT&%9\Q.&U@OP?66XXH>--S ^BIM_ 5!+ P04    " !SA -7
M#-SHP$P$   X"P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6R]5FUO
MVS80_NY?<5"'(@$<2Y;DER2V@;I)L0YK$,39^F'8!UHZ6T0D4B6I./GW.U(O
M>:GC%@.V#[&.Y-USSY%WEYOMI+K3&:*!AR(7>NYEQI1GOJ^3# NF![)$02<;
MJ0IF:*FVOBX5LM09%;D?!L'8+Q@7WF+F]J[58B8KDW.!UPIT511,/2XQE[NY
M-_3:C1N^S8S=\!>SDFUQA>:/\EK1RN]04EZ@T%P*4+B9>Q^&9\O8ZCN%/SGN
M]#,9;"1K*>_LXG,Z]P)+"'-,C$5@]+G'CYCG%HAH?&LPO<ZE-7PNM^B?7.P4
MRYII_"CSKSPUV=R;>I#BAE6YN9&[7[&)9V3Q$IEK]PN[6C<:>9!4VLBB,28&
M!1?UESTT]_#,8!J\81 V!J'C73MR+"^888N9DCM05IO0K.!"==9$C@O[*"NC
MZ)23G5E<28,PAA.X9$IPL=5P]+O4^ABN4<$J8PIGOB$_5MM/&LQEC1F^@3F&
M+U*83,.E2#%]:>\3OXYDV))<A@<!?ZO$ **@#V$01@?PHB[HR.%%!X+68"1\
MXH*)A+,<5H89I&0S>E^\-5R\'\[6S9DN68)SCPI#H[I';_'^W7 <G!\@&W=D
MXT/HB^YANA>!OV[QP< RE\G=W_OH'@:LGWP []]-PR ZAR73/ %!#2"GEX>2
MW&CG)F,:UH@"$EF4E<$4*DU,P&0(.Y?NF)ZP>U14O2"J8DV6<E,;:RN174&5
M1TF<W %U!&V82"U"6JD6B-QQF0[@@N?.Q7_.@RA :IU1-X"2[D(8FP"M3FVT
M4;)H>9>V?>@^M2!M%$^L__JD$MQHAZ=1<*D(0Q +P]<Y\7 Y]H.@/XM&U%3V
M)NN"1W(G;-/)\\<GL@VW-1)7)+^&G[1G [C-D/J95-BW78H>M(N3^+ZZ4/MG
M:6A6X%,>$ )L9$YMVM%D-@J-%"&A$C=K4#\ <_V4[M5N?>]LSPL2PK.X-7"Z
MD819Y2,NZ$16FA#T\5E+IG>;*40HZCZ"MH\ =0%T76#%'_:?]-I0;)^P/^&3
MU+NJ"LH0(U7GY*UO[ZJ-X!<X&H[[IW$,QTZ.^_%H7,M1U ^C22,'_=%P"L>]
M"Q22FO3/>?G:I"ZTJ=N\;Z5ICYI3D^W[[O-'T'5)AZ?]>'H*X:0_'H9V-9R&
M=C6*)KVVW [I7/U;QW0EP6#47 Y)87-]@V'<24-[70V)G]1_E:%=[;ZH$4RH
MS RG>]Q100 ^)'EE<\15M,W! VE*?88TN +<;&AJH(&BRE-J/X3K^H\MN<[3
M_Y>YET69RT<"?=&0G,-A>/[6MW>SOU_%I]-.-9Y$G?JJZ7RO^EC3VNIV%O='
MT\GWO[U;::B%OKB>)IE'_6 Z:G1)'@>-W,2[[_^C_VR:H9+=NIE-$ZE*F'JP
MZ7:[L?!#/0T]J=<SY1>FMIRN*L<-F0:#"4UAJI[3ZH61I9N-UM+0I.7$C$9;
M5%:!SC>2XFX6UD$W+"_^ 5!+ P04    " !SA -7<>=%(><"  !T!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6R=55%/VS 0_BNG,*%-"B1-0EN@
MK41A:$QB0L#&P[0'-[DV%HZ=V2XI_WYGIPW=5/JPE_A\OOON._ON,FJ4?C8E
MHH55):09!Z6U]5D4F;S$BIEC5:.DD[G2%;.TU8O(U!I9X9TJ$25QW(\JQF4P
M&7G=G9Z,U-(*+O%.@UE6%=.O4Q2J&0>]8*.XYXO2.D4T&=5L@0]HO]=WFG91
MAU+P"J7A2H+&^3BXZ)U-,V?O#7YP;,R6#"Z3F5+/;G-3C(/8$4*!N74(C)87
MO$0A'!#1^+W&#+J0SG%;WJ!?^]PIEQDS>*G$$R]L.0Z& 10X9TMA[U7S!=?Y
MG#B\7 GCO]"TMFD60+XT5E5K9V)0<=FN;+6^ARV'8?R.0[)V2#SO-I!G><4L
MFXRT:D [:T)S@D_5>Q,Y+MVC/%A-IYS\[.2;L@@#.((;^8+2*LW1C")+R.X\
MRM<HTQ8E>0>E#[=*VM+ 9UE@\;=_1(PZ6LF&UC39"_AU*8\AC4-(XB3=@Y=V
M::8>+]V3I@&KX)I+)G/.!#Q89I'*R^[,MX7+=L.Y3CDS-<MQ'% K&-0O&$P.
M#WK]^'P/V:PCF^U#GVR>XA6NN,F%,DN-\/,15Q:F0N7/OW81W@NYFW#[]L=P
M>#!,XO1\NP1"D#00U!QXQZ71W.)1H1I)I[FBMC3>PI8(<R6HN[E<D*2]ID;-
M56'(O^ Y770!'[FD$[4T3!;FTUD7=;/2DV/WY'"%.58SU)#VO":!>]90X5O"
M9<+ !TA.PMYIU@J#-($GZGX*![56.1H#%(9&S>R(&4-(@I*"- F3X0#2T_"D
MG[I2X-0X!2R48SH,AUD,O2Q,AQD\*DLEPM\NA.+T^V&:]$@8G(;]P6E'_'J=
MLBTUXC]I>.:&KW:I_]=O$W=7I45;DZ!"O?#SSM!S+:5MAT*G[4;J13M)WLS;
M>7S+]()+ P+GY!H?#TX"T.V,:S=6U7ZNS)2E*>7%DGX+J)T!G<\5U==ZXP)T
M/YK)'U!+ P04    " !SA -7T8XKVU4$  !("0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970Q-2YX;6Q]5FUOHS@0_BLCMEKM2FR"@0!MDTA-N]7=:7NJMKV[
M#Z?[X, D6 6;M4V3W*^_,20TVVOSQ9AAYO$S;QZF&Z6?3(EH85M7TLR\TMKF
M8CPV>8DU-R/5H*0O*Z5K;NE5K\>FT<B+SJBNQF$0)..:"^G-IYWL7L^GJK65
MD'BOP;1US?5N@97:S#SF'03?Q;JT3C">3QN^Q@>T?S3WFM[& THA:I1&* D:
M5S/OBETL8J??*?PI<&..]N \62KUY%Y^+69>X AAA;EU")P>SWB-5>6 B,:/
M/:8W'.D,C_<']-O.=_)ER0U>J^HO4=ARYF4>%+CB;66_J\TON/=GXO!R59EN
MA4VO.XD]R%MC5;TW)@:UD/V3;_=Q.#+(@G<,PKU!V/'N#^I8WG#+YU.M-J"=
M-J&Y3>=J9TWDA'1)>;":O@JRL_/?E47(X O<:TJTMCL?[BLN+7!9P-<?K6@H
M W8ZMG26LQCG>]Q%CQN^@YO G9*V-/!5%EC\;#\FC@/1\$!T$9X$_*V5(X@"
M'\(@C$[@18/C48<7G7#<@%5P*R27N> 5/%ANT;EKWO*WAXO?AG.]<V$:GN/,
MH^8PJ)_1FW_\P)+@\@39>" ;GT*?GTP.W B35\JT&N'O1]Q:6%0J?_KG+2=.
M'O.V$WV%C.#CARP,HLNC0FD&+CAPR17UJ[%8@%J!+1%6JJ+&%W)-.]U)R%JH
MPH"0A<BY4_TD)'U1K2$L\_EB..KPI-SCD'NXP1SK)6J(6"<)X9OC(.I&J^<^
M?W &69#LUT4KJH((&/B?6C;QHSB$+/&C-(0[GI<4$;U[Y5,8IWY(:N&$^2%+
MX+;54E@7;J>W$ENW-^"P$K=F(5RKNFDM<7Q!<;I&K>R&DR%C_B1+W2-E$3QJ
M+DVC--6?NZE>;)*$09*>#X&()H%_GL7T3'R69/ -#7F5YVW=5ETD"Z3$43'W
M-QZ=R&N"%?_V@D\LB_R8\#[3-DW]"7/; SA+2!),@*69G\3GY(,T5K?][4D9
MHKBMM3LP//?#-'()B:.X#S[S6<#VZZ.RU$S-J3+Q0=*\.0-VGOH9\3F#D 4^
M(\\.9&[WQ6)+C?BJ +J<4XXGHX"NQ*IR_(S8OJ/%@E$XJ+T+=V5<P?[\P>\8
MN%1RN7.5G5<M768DY18$E0^)K) MB:C]#)14^$IWFL92@;@+AH/58KVFDJ<.
MP.>N$ RER>1:+,F0XGKU< U1$M =S-P236@)J;1?-;W_JNM'\'C$CC3=A"9$
M3K,RIPK7?"DJ87= -/KPO_)@U78UW%(;FERUTM5/SDT)*VI8 [C-L5-%DFJ]
M<PY0-9'>H;7W9[N4L?324!#D^DM%0Y9(&(.V;SC2I$&KZ"2I7/=QH?N;HN1Z
MC;"A<#C"FGB-X*V[<GPTW6HD&S?#7?")2C_H!NGPFW#53\<7]?X?XXZ.%)*8
MXHI,@U$Z\4#W<[M_L:KI9N5269J\W;:D7QW43H&^KQ3=AOL7=\#P\S3_#U!+
M P04    " !SA -7>4K-M#@#  "!!P  &0   'AL+W=O<FMS:&5E=',O<VAE
M970Q-BYX;6RU5=N.VS80_96!4@0;P+5DW=;:V ;L;#=-@02+[+9]*/I 2V.+
M6(IT22K>[==W2%WJ)H[?^B(.R9G#<S2<X>*H]).I$2T\-T*:95!;>[@)0U/6
MV# S50>4M+-3NF&6IGH?FH-&5OF@1H1Q%.5AP[@,5@N_=J]7"]5:P27>:S!M
MTS#]LD&ACLM@%@P+G_F^MFXA7"T.;(\/:'\]W&N:A2-*Q1N4ABL)&G?+8#V[
MV:3.WSO\QO%H3FQP2K9*/;G)AVH91(X0"BRM0V T?,%W*(0#(AI_]9C!>*0+
M/+4']#NOG;1LF<%W2OS.*ULO@WD %>Y8*^QG=?P9>SV9PRN5,/X+Q\XWC0,H
M6V-5TP<3@X;+;F3/_7\X"9A'WPF(^X#8\^X.\BQOF66KA59'T,Z;T)SAI?IH
M(L>E2\J#U;3+*<ZN/BF+4,"/\$%:)O=\*Q#6QJ U$_B$=A%:.L2YAF4/N.D
MX^\ YO!125L;^$E66/TW/B1R(\-X8+B)+P+^TLHI)-$$XBA.+N EH^+$XR47
M%!NP"NZX9++D3,"#91;IIEES3F\'EYZ'<T5S8PZLQ&5 56%0?\%@]?K5+(_>
M7B";CF332^BK;[("M]R40IE6(_SQB,\6-D*53W^>(WX1^CSQ[CI,X?6K>1PE
M;T]O!>O.+Q45I+%8@=J!K1%V2E!E<[DG2_N5 VJN*@-<5KQDSO6*2]I1K6&R
M,F]N1GC*+8ZY'5??:V4,K,NR;5KAXT]H#$[K1K72 FN4MOQOUI5X?W$E-;-[
M"J2$P@]03.)93N-5-LG3"-Z0F4RRZQP>-:NHQ5'[@^L4KN*,]M("'I6E.\&_
M4>Z1BJA'RK,>*:>X6RRQV:*&9.:UQ/^7EOFD*-*.09(,6O(\/=62Y:1E1GM)
M=E%+E/5:DFPV(!7%2.JNSZ:M->)7F?(2#7\^MTR=$L4+9-,<7I!I,X6U_<I/
MT80,)R1/<V=F9!3.R ?C>C#F@U$ W1Y'B1Z?G74_>YZ,&3A7:^%)6VQ0[WWS
M=S>8?G;7(<?5\7U9=VWU7_?N<?K(])Y+ P)W%!I-K[, =-?PNXE5!]]DM\I2
MR_9F36\D:N= ^SM%E=5/W 'CJ[OZ!U!+ P04    " !SA -7R%D*A%@#  !M
M!P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q]5=MNVS@0_96!"O0I
MM63938/$-E G&VP7Z")HVNS#8A_&TL@B3)$J2?GR]SLD9<5%';](O,PY<Q_.
M=MIL;$WD8-](9>=)[5Q[FZ:VJ*E!.](M*;ZIM&G0\=:L4]L:PC* &IGF67:=
M-BA4LIB%LR>SF.G.2:'HR8#MF@;-84E2[^;).#D>?!/KVOF#=#%K<4W/Y'ZT
M3X9WZ<!2BH:4%5J!H6J>?![?+J=>/@B\"-K9DS5X3U9:;_SF2SE/,F\022J<
M9T#^;>F>I/1$;,;/GC,95'K@Z?K(_AA\9U]6:.E>RW]$Z>IY<I- 215VTGW3
MNS^I]^>CYRNTM.$+NR@[O4Z@Z*S330]F"QJAXA_W?1Q. #?9&X"\!^3![J@H
M6/F #A<SHW=@O#2S^45P-:#9.*%\4IZ=X5O!.+?X6SN"<08?X!&%@1>4'8&N
MX%$H5(5 "5^4=:;C/#@[2QVK],"TZ.F7D3Y_@_X:OFKE:@M_J)+*7_$IFSK8
MFQ_M7>87"?_JU @FV17D63ZYP#<9_)\$OLD%_RTX?>+PLT-';_H;Z:;GZ7P+
MW=H6"YHGW".6S):2Q?MWX^OL[H*QT\'8Z27VQ4F*'H0MI+8=*X%_O]/>P5+J
M8O/?.9,ODIXWN2^+$;Q_=Y-GDSOX7A,4:,Q!J#5L@PG8Z(Z#Y*NE0%L#JC(N
MZ&<G6,1'\(H;E\M'%([BY17W81%QA@IBN96D*V#-+8H2:,_3QA+C5$C,JTR@
MUZXFPVUA#),#6DM>Q<#8XB'2\8GIZ)1NA6KCCZEUG&8ZBIYAE0)70@HG6#VV
MK=%[P<U/4/G@1\]75&!G0Y\P%&RMC?O@R#3<F:XSPAWZ*Y81K^TS"E&\UTV+
MZL D4M#6%U^-+O (Q1P<+C#H?1<*J*IX>@'?$Q8UM&2$9J_89HZ73Y:*R*/M
M/%<W=,3SQ 8K&B&1!Y<V7&N<N]Z($V=\^K3:DG'"!X0Y!0-C^(6%AM!761GH
MRJ'JH.U,JSFTH)4\_$8::Z$OEU@H7I'NS-O*,)02-S@-#0X/G/]FQ=F9C,-)
MSE\XUTGIR0ALR*S#H+<0"B-.P^%T>$L^QQ'Z*AX?HJ]HUIPUD%0Q-!M]^IB
MB<,];IQNPT!=:<?C.2QK?@_)> &^KS3[TV^\@N&%7?P/4$L#!!0    ( '.$
M U>4&>7QI00  )\*   9    >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;(56
MVW+;-A#]E1W&S=@SM'BG)%\T8SM-+Q.WGCAI'CI]@,B5A#$)L  H1?WZ+D"*
MEF_*"PD"NV</<';!O=A(]:!7B :^UY70E][*F.8L"'2QPIKID6Q0T,I"JIH9
M^E3+0#<*6>F<ZBJ(PS /:L:%-[MP<W=J=B%;4W&!=PIT6]=,;:^QDIM++_)V
M$Y_Y<F7L1#"[:-@2[]%\;>X4?04#2LEK%)I+ 0H7E]Y5=':=6GMG\!?'C=X;
M@]W)7,H'^_%;>>F%EA!66!B+P.BUQANL*@M$-/[M,;TAI'7<'^_0/[J]TU[F
M3..-K+[QTJPNO8D')2Y86YG/<O,K]OO)+%XA*^V>L.ELT\2#HM5&UKTS,:BY
MZ-[L>W\.>PZ3\ V'N'>('>\ND&/Y@1DVNU!R \I:$YH=N*TZ;R+'A17EWBA:
MY>1G9G](@Q!%< IVI.&.;=F\0F"BA$]2+$\-JAH^X-Q<!(;B6:^@Z+&O.^SX
M#>P<;J4P*PT_BQ++I_X!\1S(QCNRU_%!P-];,8(D]"$.X^0 7C)L/G%XR8'-
M:S 2/G+!1,%9!?>&&:2D,_JU_79PZ>MPMG[.=,,*O/2H0#2J-7JS]^^B/#P_
M0#8=R*:'T&=6 _C =5%)W2J$O[_@=P/7E2P>_GF-ZV&T7O<1O'\WB</DO)>_
MV9._&N0O;>A"4B5J@R7(!9@5PD)65-)<+&FDW$R#BLM2 Q<E+Y@U/>:"5F2K
M"5"?G W12$D<E*3T*K">HX(D<C,Q?,:UK-86VQ*W$0N%)3=4'68%#+Z.[D=4
MC>(!VL8*> 3Q>#2>A# =Y7D"41Q$:>"PHRB(<CO,R"CS)TEHC3,_#,,?1KE9
M45X\#1--_3 90SK*QI"/HAANV1;BU-%.(4K\,2W0*PICN.G %JS@%3?; ZAQ
M[N=91*AI1JAY=SRY R6TB9]/$AK[41K"?3L_-=)0JB83/QZ'D-$KC>$3:MT)
MQ;5N*9N1%--&^R#H:C^>3E,X@>/(C_()#7Y15N$>9TPX.61C/QRG'4[1*D4U
M (U4[NX\[FT(H3<[H801I\_MCIS 47R^-[JV&[TJ"FR,8_7TGMDEQ.[MK-FC
MM7#6=DMH^<(:12F5WIWE?ZBD3;O"LN""LA6U 46Y1PSHW$@JTBSV$QI\H0Q]
M3I@D?Y;F7+M49K5LK5U/TX:C5)8DR]/4W?&^9:95W' B^Q*34;DRW1>,'LIE
MT1I;R&^#?GN,ND6F:"N]#M>XE:3?L+ [ZR].4/KW:CJ]TB;VX++#_%.0 NNN
MW*(NQ6*?Z"A$R,*?7BQF,(V>T2.(QZRG@H %_5CII[2%S#U?6+N)\2Z6L_;L
MO9B=4^]PZWSV/O>MGU;"L;=O]S;"#[#WSGE8N'*Z/5VV)?+R:O*==C>R;IC8
MPHJ5=,8UKZH^G5K1:DK5N52JNQP+1K\$*G^?>AC=H.M"JNWHU8@OHVTH;X[R
MT60(84D=34?3_9@VZ14O[(5;,+WRJ1+6-%4/Y?7:[R?8:QIJ5$O7&E'IV[SO
M^H=A=NB^KKJFX]&\:]UNF5IRH:'"!;F&HW'F@>K:H>[#R,:U('-IJ*%QPQ5U
MD*BL :TO))5Y_V$###WI[']02P,$%     @ <X0#5Z#+N+)X!@  %P\  !D
M  !X;"]W;W)K<VAE971S+W-H965T,3DN>&ULE5==;]LV%/TKA)<.*>#:DFPG
M3IH$2-(6Z[!U09-N#\,>:.G:)B*1&DG%R7[]SB5EV4Z=#'NP18KDO>=^G2N>
MK8R]=TLB+QZK4KOSWM+[^G0X=/F2*ND&IB:-E;FQE?28VL70U99D$0Y5Y3!+
MDJ-A)97N79R%=S?VXLPTOE2:;JQP355)^W1%I5F=]]+>^L57M5AZ?C&\.*OE
M@F[)?ZMO+&;#3DJA*M).&2TLS<][E^GIU9CWAPV_*UJYK;%@2V;&W//D<W'>
M2Q@0E91[EB#Q>*!K*DL6!!A_MS)[G4H^N#U>2_\4;(<M,^GHVI1_J,(OSWO3
MGBAH+IO2?S6KGZBU9\+R<E.Z\"]6<>]HTA-YX[RIVL- 4"D=G_*Q]</6@6GR
MPH&L/9 %W%%10/E!>GEQ9LU*6-X-:3P(IH;3 *<T!^766ZPJG/,77XPGD6;B
MG;@V^H&L5[.2Q"UI9:S@17<V]-##NX=Y*_,JRLQ>D'DD?C7:+YWXJ LJ=L\/
M@:\#F:U!7F6O"ORYT0,Q2OHB2[+1*_)&G=&C(&_TBM%.>",^*2UUKF0I;KWT
MA&3S>^V-XL;[Q7'=G+I:YG3>0V$XL@_4N_CQA_0H>?\*V'$'=OR:](OMN'R@
MF1=_WM&C%U>ER>__V@?V=7%MP ?BQQ^F63)Z+W[3XE=I\Z68L'_3D^#E\>X[
M,1DDR9OV73I!?M3PUHSL\TG</NAV1F']3MG=DH23L,3,A<<X1F)!FBS\7P@-
M&JJMR8D*QWL.CH\&8^1]6:*$^T+./=0@J1H4LUX$$9^U\AS!FP8J49_6L;+T
M^+THE,M-@Y *J0M(FY/E0_0(1G-06\LGR5Z=/05!UZ:JI7X:!)#M1#0.J&0-
M3(\*'$#EDS@8'0^F:TQK0W: SZVIPMM.)W)MWI0X; E:HSI9?WP4OQBI [P[
MLE6<K91?BCO;*(<H2WT?EOF$)6;9 AY80;F8440'9FX]6(K<V-JP*T7=8 0K
M!SN^GYL2-!P0!=-#OK*'6'XNK7WBM0=9-L]"Q$IX5L,> Q.!0^4A9(=*8\4T
M#C#=V]-.'8J60M%^H#RFQRC=) )7,O]EX@8.RE4-\ =BFO0G2;(9?-.R,LC]
M?Z"GX-Q7SC6H6& U#J@/)].Q>"L.3T[X\04QZ&S 080>HHY/^B?I41Q,DJ,=
M=T3;I&5YFRJ3/@:O]FV EZ:$U]VN1["+$\2C10EH4F7T80FG\\99XU!Y#H=T
M6.!V6C0E#/%6%HRP0"*HJJ)"Q;Q"+'(JUFF-9&NL\D_8YFD@OM60$T&Z4 I[
M,86\8#'H=,(M85BWH4WHMC8<9%451*+!Y/=]Y.>"L,OVA9ISNI<(+ES1C\F8
M2[=$Q$6IJ&%Y;/?<RM!7$;>@J+]V&W[ZW4;$%FAA@RGL>-46[;-%Q%=,C@8G
MTR3]'_ Y*<5!VD^0,76736T"X'STS2%*+V9[2 ^]#P-.YR%ZSRH^/1Y,)D%-
M0,4[=OVW6BKP7:?!O2B?*M54WVL8@5WES#Q0ET0,LH-SD(X&DV07P']Z!8-/
M-+,-OK5$-FV)?(>8L_Z:/0&!648&?W>5&XI4&_%3FVL5,O8R4/!S,;RBC0^Q
M_0R*TDC>$'H/QF)<#X1.&W@&:5*J2OF]!LB9*CGIUY2WG@.5:?A;<N84ZL6J
MT+_['&3XR7#J8C]\YDY!2&_A^QS;F1AA/A031!6%:A.6270&[HKU:0.K$+>+
MOQM9JKE"D087O@\X#A4$YOCB17[RYB :I:"WN!7-AXG),]$S[D6CBL!3J)K+
MVVLQ19\<PZ/K9RJR=BRRB3C>&J?)('AR?(PI=FXWHZ#:?M^0QH.TZT?,QK#8
MQ>IL>5(%[M#MEW"H:4;9L>DVB80"=6N&79'EQI.;A0XLC R1F(<&O.E^SUEW
MAY0:<*/Z9\UKA)88OL0!"IE$:'(5J,<4,0&A;4:MI);XD3NQ]WAND;M07^MM
MCGSH6WZY4=7V?KR(]YEXM2A#(VM#U[+%"UWM;FF12U7\OB7^OMV4RZUZ?&'E
M^ZZW&>'[SC.7-B$QG^$\$$QK1UO/K)^DH^YY&;TDU\'8UR0SG./?.$W"[\[X
M;56\*<C/< W8/+/^.!MUSX_?1RWP]029]V;/?VOPOL_?X=9EI2*["%<RI@@D
M3KRW=&^[6]]EO.QLML<K(UAHP?12TAQ'D\$Q+EDV7L/BQ)LZ7'UFQN,B%89+
MW%S)\@:LSPV"W4Y807<7OO@74$L#!!0    ( '.$ U?0D+XO+P,  ,P&   9
M    >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;(U5;6_3,!#^OE]Q"@B!5):W
MOHZVTKJ! #&8-EX^(#ZXR:6UYMC!=M;VWW-VTJQ(I>)#&_M\]]SS^"Z7Z4;I
M![-&M+ MA32S8&UM=1&&)EMCR<RYJE#22:%TR2QM]2HTE4:6^Z!2A$D4#<.2
M<1G,I]YVJ^=355O!)=YJ,'59,KU;H%";61 '>\,=7ZVM,X3S:<56>(_V6W6K
M:1=V*#DO41JN)&@L9L%E?+'H.W_O\)WCQARLP2E9*O7@-A_R61 Y0B@PLPZ!
MT>,1KU (!T0T?K>809?2!1ZN]^COO';2LF0&KY3XP7.[G@7C '(L6"WLG=J\
MQU;/P.%E2AC_#YO6-PH@JXU591M,#$HNFR?;MO?P/P%)&Y!XWDTBS_*:63:?
M:K4![;P)S2V\5!]-Y+AT1;FWFDXYQ=GY9V41XA1>PV66Z1IS^,39D@MN.9II
M:"F%<PRS%F[1P"7_@!O"C9)V;>"MS#'_.SXD:AV_9,]OD9P$_%C+<TBC'B11
MDI[ 2SN]J<=+3^@U8!6\XY+)C#,!]Y99I#ZS1_4V</WC<.Z5N3 5RW 6T#MA
M4#]B,'_Q+!Y&;TZ0[7=D^Z?0YU0251,ON&4[MA38.U:D'C"9PQ>[1GUHAFMN
M,J%,K2GLJM::!,+/K[BUL! J>_AU3.QI.FVOG,.+9^,D2M]T;,1!VDS1"VLL
M654!1 H*)>C-YW)%*^TM%6JN<@-<YCQCSO4EEW2B:D-2S*N+?8(SJCYVU8=K
MS+!<DLPT]I;D;$^@8CM-:> YC'K)>$+/26\4/9UC60FU0X0E2BPXW6C:BP<3
M^D^&@\[+N$;PMTD71(UAV98$Q;TH[L-@/.[\N+1(Q;9TU"=:<6\P&9U=YH_4
M3PT7WTP0#V-(XF$7EJFRY,9/,]S24#4$/DK&,$E'3T*T*M#[4/X"R8-T0C^:
M''KD=69AP[1FTNX@[@_H%W4.RG?"8!Q#.AR??566D-B10CVG*'=);D&WEB3[
M6S_6N.'!A"E1K_P<=<6F]FR&36?M1O5E,Z&>W)LY?\/TBDL# @L*C<Y'@P!T
M,SN;C565GU=+96GZ^>6:/C>HG0.=%XKZL-VX!-T';/X'4$L#!!0    ( '.$
M U?X&X.>&P,  )D&   9    >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;'U5
M;6_:,!#^SJ\XI5,%$B6O0$8!J71MUTGMJM)M'Z9],,E!K"8VLTVA_W[G)+Q,
MHDC(^.R[YY[SO62XENI59X@&-D4N],C)C%D.7%<G&19,=^02!=W,I2J8(5$M
M7+U4R-+2J,C=P/-Z;L&X<,;#\NQ)C8=R97(N\$F!7A4%4^\3S.5ZY/C.]N"9
M+S)C#]SQ<,D6.$7S8_FD2')W*"DO4&@N!2B<CYPK?S")K'ZI\)/C6A_LP48R
MD_+5"O?IR/$L(<PQ,1:!T=\;7F.>6R"B\;?&='8NK>'A?HM^6\9.L<R8QFN9
M_^*IR49.[$"*<[;*S;-<?\4ZGJ[%2V2NRQ76E6Z7/"8K;611&Y-<<%']LTW]
M#@<&L?>!05 ;!"7ORE')\@LS;#Q4<@W*:A.:W92AEM9$C@N;E*E1=,O)SHP?
MI4'P([B [R9#!?<BD04"$RG<;"CS&H>N(3]6VTUJS$F%&7R V8,'*4RFX4:D
MF/YO[Q*_'<E@2W(2G 3\MA(="+TV!%X0GL +=T&')5YX(F@-1L(M%TPDG.4P
M-<P@%9O1Q^*MX*+C<+9O!GK)$APYU!@:U1LZX_,SO^==GB ;[<A&I]#'55X>
MI:!&5,QPL3B2)/C]@AL#DUPFKW^.17#:1UT%'3@_BP,OO*R+@>_]-+%RU()$
M4D=J@RG(.9 :S&5.K6UYT8PH3X@HEZDF^Y0GS*HVN: ;N=*$I5N#QDNF$*&H
MR@1MF0 E&<LD3_GF^$UCR\Z6@5V"_:Y!/4H=*  W2<;$ L$H)C2K>G]!TPF:
MN=2Z!9\@\D-:FT$<@Q7]?L^*L>]#JW$GWU )6P@TIV::I^_;5^C[78A#^H7@
M>T&C>B$AQ<4^+Z6;B C%])@A1-W&W8%CXI%RO92:RHV>CFF-1D,S(A+-T"Y]
M6L)NXT4:JW&8@>WK$TH;!(UJ8MWV>WW+VX^]*HRV'W7M02_X3 ?U6QTK0/=@
M7!2H%N50U)38E3#5Y-B=[N;N535N]NK5T'Y@:L&%AASG9.IU^ET'5#4(*\'(
M93E\9M+0*"NW&7T[4%D%NI]+*KU:L YV7Z/Q/U!+ P04    " !SA -7AE,;
M!T$&  "U$   &0   'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6SM6%EOVS@0
M_BL#MRA2P)$EZK)S&$BR;;?%MC7BI'U8[ ,MC6TALJB25!SOK]\A==AI;!<+
M[.,^Q*+(F>$<WXQF<K$6\D$M$34\K?)"7?:66I=G@X%*EKCBRA$E%G0R%W+%
M-;W*Q4"5$GEJF5;Y@+EN-%CQK.B-+^S>1(XO1*7SK,")!%6M5EQNKC$7Z\N>
MUVLW;K/%4IN-P?BBY N<HKXO)Y+>!IV4-%MAH3)1@,3Y9>_*.[L.#+TE^);A
M6NVLP5@R$^+!O'Q,+WNN40AS3+21P.GQB#>8YT80J?&CD=GKKC2,N^M6^GMK
M.]DRXPIO1/X]2_7RLC?L08IS7N7Z5JQ_Q\:>T,A+1*[L+ZQKVB#L05(I+58-
M,VFPRHKZR9\:/^PP#-T##*QA8%;O^B*KY6]<\_&%%&N0AIJDF84UU7*3<EEA
M@C+5DDXSXM/C+T(C>"&<PG3))9X:"U.X$2N*NN+&<1<#3?<8ZD'2R+RN9;(#
M,B/X+ J]5/"N2#%]SC\@_3HE6:OD-3LJ\%-5.."[?6 N\X_(\SNC?2O//V*T
M BW@?5;P(LEX#E/--1+8M-IG;RTNV"_.Y,V9*GF"ESU*#(7R$7OC-Z^\R#T_
MHFS0*1L<DSZNXW)MXS+A&Z,C7$G)BX75%_Z\PR<-U[E('O[:I_M1Z?MU;T#A
MP)M70^;ZY_#N1Y7I#4QR7JAN\VZ)%BB\V)@M+SY7,!-<IB#FD&:2\DY(!;Q(
M@6"</"Q%GJ+9*$LI'LD:30+F(J>ZD!4+P/J.TMQQUEWRYM4HBD?GEI:YGF\/
MF'O>K'</F;<]I/6.>I I56&C!HC2P%KUJ:8H+;-$=R=\3=HK.&G$W$ZOE%UZ
MYV^M&2\8JB+3N_3W6WI"%Z[*7&P0Z:J$+J0ZP0E?5E(ABM/V>.LKAV"XU;!5
M9X$%2I[G&WBD^X%<)X&3XRH)&@LJ!AN88DGHG=&!\4N?'))1&%H?UD*_UF9W
MN^W[DC\BS) D+0A4QC927>^);6<.F4V!M#1Z+6">25++J+*+C&U@,S*Y+?H&
M&JUUIAY3Q'=C_?SYW9943 ]O'.2X(B?1-Z4[^/G]YV=[;I,-)A1DW J[1?-U
M,Z9<+182%U0I.L8OE74[F?7N"662*02R[3=#0GNMV!NJAY(,KJC2?*1E1A^U
MI).AS*6JN;43\YYG$K[QO$+X(YMCLVQY3K*" B J16@B?.%30A" THI(Z4/P
M%KY66A'@4J,WU_")%Y4)@%=746"1#Z_!<YW ZX2^AM )0G"=V*/U*=!W;XZ9
M<<&)'\!;B)W0A<")?3H[W;V@#U2BL2O1P-C(B!X&G>C0"2,2[#-B;$SDLQS_
M'>,WPC\I8Q((GTI,&K#:M#C.>:5,.)[?U=)-4-KFIB#7U67V(RT+TRW8BM<1
M6G936QQRO:3$K=/,>59J*)7%HLC^MO7-$/UDH,O8(7J5/1VB/IQ-D^G]GE3Z
M9:;L!_XV?XX O<9IB_)6@(7K06P3VRUU8N3=!L?_,9KC*"+$1DX<&E#W@R"&
M#TTUBZ,8ALYP!'X_)*I&C=HS'CM_\;PQ0,AS3 =;^!^B/9("7C_T22]GR&#4
M]RA]CH'W!?$^O.:F:B*G+^CM]CM4U_9[^QTZ#I3;_X%B,JK//-<6NM@@)NA[
M!)D6*JSOQ@$5N,BE,(2!NP7+23ATJ0!&CA^3*)_:BWTP.?$\0^4[(Q^B,#@&
M#P+C*" MW! 8X972_!@^7E)W8=D#E-?4N@UI6,@M8I@3PL;"9K>3W.WPMVU>
MVY&HG5D@V:4TFA6*XK13MJAXVEZ@1)D)ZE<R,CCAUA^[T7J[!=V=+8RK>DA
M,R3 E&K?LXUG1=>8UBW:DVV%W*ZFAQ0_A=FFU1[TIGS9"MP(TUS-82&,$8J:
M55-*0H,2SPOHE\4&."PTL%#DT&1I@Y7B(XVVI>W% T*)3QB(XQ@B M:4YU@W
M?)2%#Z@-*-G( V\8$2W]>0P^U.V=I>(IC7@9)3>W7Q]&M2"TQ2$@" P]4\-8
M/(([H8GA5T$B9?V^&S&C=-\+C EAWP^9A7WD1;!O.!GLC)(KE L[,"N27Q6Z
MGBJ[W6XFOZI'T2UY/=!_YG)!.0XYSHF5F@H:@64])-<O6I1V,)T)36.N72Z1
M4VMI".A\+F@.:5[,!=U_*L;_ %!+ P04    " !SA -72?UL33 #  #'!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q]5=]OVS@,_E<(#]A3%SM.
MURO:)$#3WG [H(=B[78/AWM0;#H6*DN>2.?'_OI1LNMU0Y:'Q*9$?OQ(2I_G
M.^>?J49DV#?&TB*IF=NK-*6BQD;1Q+5H9:=ROE$LIM^DU'I490QJ3)IGV47:
M*&V3Y3RN/?CEW'5LM,4'#]0UC?*'%1JW6R33Y&7AD][4'!;2Y;Q5&WQ$_MP^
M>+'2$:74#5K2SH+':I'<3*]6Y\$_.GS1N*-7[Q J63OW'(R/Y2+) B$T6'!
M4/+8XBT:$X"$QM<!,QE3AL#7[R_H'V+M4LM:$=XZ\Z\NN5XDEPF46*G.\">W
M^PN'>MX'O,(9BO^PZWUG[Q,H.F+7#,'"H-&V?ZK]T(=7 9?9;P+R(2"/O/M$
MD>6=8K6<>[<#'[P%+;S$4F.TD-,V#.61O>QJB>/E/XX1IA?P#C[:PC4(3VJ/
M-$]9L(-'6@PXJQXG_PW.!=P[RS7!G[;$\N?X5#B-Q/(78JO\).#?G9W +#N#
M/,MG)_!F8Z&SB#<[42@!._B@K;*%5@8>63'* >.C]?9PY\?APEVYHE85N$CD
M,A#Z+2;+MV^F%]GU";+G(]GS4^C+'[. .TV%<=1YA/^><,^P,JYX_O\8XY.8
MQQD/XY_ VS>7>3:['I]RY(%KE)]'!!D&CL,(?_D9/,GNK6M:90]0R.RU[90Q
M!VB<U>P\@;(EM.B#< 0#%!$2A7Z#JR*XJ(C1W]1:&\V'L*B9X.[IALY V\)T
MI;:;&&F5.9"FX%+)/0[HU!6U0$+5<>@-J[U:&PQQTKDS@=ZB)QFRA.!>$P>H
M%R>9>NN\:!"4NJK0HRU0<@;"X@*M4=8&?V(O)V2CD29R/88"(I"0MX@E2'&@
M8*M,IWJ1,:)R<KR$ ?_<']*E)"IA[;B&UI$.:A136MRH:.!6?"16R!O)6X;3
M&E",?D:C:^?*4,W0M)A.3%$@] $X, \,I85=)*GB,//LNG%^ #D(GO33.HY;
MT^M?)GOLZ*:OQ*5!OXD22E)29[G7F7%U5.F;7IQ^N/<2?Z_\1EL"@Y6$9I,_
M1!1]+YN]P:Z-4B5-$N&+K[5\:= '!]FOG)S7P0@)QF_7\CM02P,$%     @
M<X0#5YF/T3#" P  #P@  !D   !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL
M?59M;]LV$/XK![4H-H"U7FW)B6T@+^O681V".-T^#/M 2V>)B$2J)!4G_WY'
M27;<U?$7D3S>/??<\8[48J?THZD0+3PWM31+K[*VO?!]DU?8<#-1+4K:V2K=
M<$M+7?JFU<B+WJBI_2@(9G[#A?16BUYVIU<+U=E:2+S38+JFX?KE&FNU6WJA
MMQ?<B[*R3N"O%BTO<8WV:WNG:>4?4 K1H#1"2="X77I7X<5UXO1[A;\$[LS1
M'%PD&Z4>W>)SL?0"1PAKS*U#X#0\X0W6M0,B&M]&3._@TAD>S_?HG_K8*98-
M-WBCZK]%8:NEEWE0X)9WM;U7N]]PC&?J\')5F_X+NT$WB3S(.V-5,QH3@T;(
M8>3/8QZ.#++@#8-H-(AZWH.CGN4MMWRUT&H'VFD3FIOTH?;61$Y(=RAKJVE7
MD)U=_:DL0IC"1_@55:EY6XD</LOAM"EM"]^2%Z?KYR/B]8 8O8$X@R]*VLK
M+[+ XGM[G]@=*$9[BM?16<#?.SF!.& 0!5%\!B\^A!SW>/&9D U8!9^$Y#(7
MO(:UY1:IU*PY%>\ EYR&<UUS85J>X]*CMC"HG]!;?7@7SH++,V23 ]GD'/IJ
MC:7C!??8*FV%+.%6F+Q6IM,(_SS@LX7K6N6/_YXB?AYZ//H)?'B714%\"0\5
MPHUJ6BY?@+I><Y<G(4%)_$YGJVKJ9<?%\DU-.H8N#ZH86X%]A7 687IIJ'6?
M4'8(7!; C=,5K_4%FQ<H7RM/8TG""84[V @#>4U&8BNPZ-NO(#J]&XIZ0%!;
MV%5(Z7#25JNBRZTS;+CLMM3UE*EB G\H67ZLZ0882?21.8LQAHV[GR G[EH8
M)"?UBP.C--@7!FW-I66 WSK1]N?A@A'2<ED*,M]#_M1CJL[0MOGYXBAK&A&:
MH2_0]05056-?U6OQ_,;.WMK5O?M$1[,Q0>;5QUOC5RDLH?8E;N ]1"P-(AI#
M%B8IC7,:0QICDD_A@8L=EQ G+$I#B%,6D3"=L=DTA5G"YED"-Q7U#21LED00
MQFQ.*!G+Z!M/638-#X[?0Q*R63BER31BT7SNG#DS)PF#A$V3 *Z,.[_^Y% +
M58PYV&,<<G&+.38;U!"'IQ+SP^G^F)?_Y\$%%3@J6<"")-M'GJ0LH/Q, Y:F
MZ1AKEK%P'L,\9EF6'<47A2'+@L#-HH2E8;S?.]7X_M$EW: N^Z>(REMUT@[W
M]4%Z>.VNADO^57UX*K]P70IIH,8MF0:3=.J!'IZ?86%5VU_Y&V7I >FG%;W8
MJ)T"[6\5]?ZX< X._P"K_P!02P,$%     @ <X0#5\Z4VB6. @  G 4  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL?53;;MLP#/T5P@/ZU,6.DV99
MFQA(TA7;L%[0=MO#L ?%9FRANGB2G+1_/TI.O'1(\V!9I,BC<R21DXTV3[9"
M=/ LA;+3J'*N/H]CFU<HF>WI&A6MK+21S)%IRMC6!ED1DJ2(TR09Q9)Q%663
MX+LSV40W3G"%=P9L(R4S+W,4>C.-^M'.<<_+RGE'G$UJ5N(#NN_UG2$K[E *
M+E%9KA487$VC6?]\/O3Q(> 'QXW=FX-7LM3ZR1M?BFF4>$(H,'<>@=%OC0L4
MP@,1C3];S*C;TB?NSW?H5T$[:5DRBPLM?O+"5=-H'$&!*]8(=Z\WGW&KY\SC
MY5K8,,*FC3T;1I WUFFY328&DJOVSYZWY["7,$[>2$BW"6G@W6X46%XRQ[*)
MT1LP/IK0_"1(#=E$CBM_*0_.T"JG/)?=:(?0'\-[6&CEN"I1Y1SM)'8$[D/B
M? LT;X'2-X!&<$T E85/JL#B=7Y,I#IFZ8[9/#T*^+51/1@DIY FZ> (WJ!3
M.@AX@R-*+3@-5UPQ$LD$/#CFD%Z8.ZBWA1L>AO/%<FYKEN,THFJP:-8892?O
M^J/DX@C984=V> P]6V@IN0O4@*GB]>7 );>YT+8Q"+\>\=G!7.C\Z?<A$4>W
M.2QB^R1Z</)NG":#"_C&'2]9***=ZW9-L;[FKHR6X*A,_<GZ_RFX"HFOK)EZ
MH9?Z DH[>-SS+5%P7/N[J)CST22#T:<TW'KK/[&W"F9-294 '\-;Z/NQ/_(#
M.3SX-6W2+LQJPT5X,'"CP6*NZ>P.74>\5S$231GZ@H5<-\JUQ=-YN]8S:RON
M7WC;MZZ9*;FR('!%J4GOPUD$INT%K>%T'>IOJ1U5<YA6U#[1^ !:7VDZ\*WA
M-^@:<O874$L#!!0    ( '.$ U<W^PVJ)0(  -L$   9    >&PO=V]R:W-H
M965T<R]S:&5E=#(V+GAM;'U446_:,!#^*Z=4ZM-&0D)92R%2Z5IME3JATFT/
MTQY,<A +QT[M"]!_/]L)&=. %\=GW_?=]]F^C+=*KTV!2+ KA323H""J1F%H
ML@)+9GJJ0FEWEDJ7C&RH5Z&I-++<@TH1QE$T#$O&99"._=I,IV-5D^ 29QI,
M799,OT]1J.TDZ ?[A1>^*L@MA.FX8BN<(WVO9MI&8<>2\Q*EX4J"QN4DN.N/
MI@.7[Q-^<-R:@SDX)PNEUB[XFD^"R E"@1DY!F8_&[Q'(1R1E?'6<@9=20<\
MG._9'[UWZV7!#-XK\9/G5$R"ZP!R7+):T(O:?L'6SY7CRY0P?H1MDYO8BEEM
M2)4MV,8EE\V7[=IS. #$-R< <0N(O>ZFD%?YF1%+QUIM0;MLR^8FWJI'6W%<
MNDN9D[:[W.(H_:8(H7\#'V%>+PR^U2@)'C9V-..0; &7%F8MV;0ABT^0#>%9
M22H,/,@<\W_QH176J8OWZJ;Q6<*G6O8@B3Y ',7)&;ZD<YMXON2,6P.DX)%+
M)C/.!,R)$9:G_#9T@^-TKF%&IF(93@+;$0;U!H/T\J(_C&[/B!UT8@?GV-/_
M+@1^O>*.8"I4MOY]3.U9ON-JV_OOP>7%=1PEM_ *3[5XAW[2''H/CCD)#QY<
MB7KEV\I IFI)S=OK5KO.O6L>[-_TINV?F5YQ:4#@TD*CWJ>K '332DU JO+/
M=Z'(-H.?%O;O@]HEV/VELA;:P!7H_F?I'U!+ P04    " !SA -7#9UJ&E("
M  !2!0  &0   'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6R%5&%KVS 0_2N'
M"V6#4KM.VH4V,23=QC;H"$VW,<H^*/+%%K5UGG1IVG\_27:\=*09&.LDW7OW
MSKZ[\8;,@RT1&9[J2MM)5#(WEW%L98FUL*?4H'8W*S*U8+<U16P;@R(/H+J*
MTR2YB&NA=)2-P]G<9&-:<Z4TS@W8=5T+\SS#BC:3Z"S:'MRJHF1_$&?C1A2X
M0/[6S(W;Q3U+KFK45I$&@ZM)-#V[G V]?W#XKG!C=VSPF2R)'OSF<SZ)$B\(
M*Y3L&81;'O$:J\H3.1F_.\ZH#^F!N_:6_6/(W>6R%!:OJ?JA<BXGT2B"'%=B
M7?$M;3YAE\^YYY-4V?"&3>M[[ISEVC+5'=@IJ)5N5_'4?8<=P"AY!9!V@#3H
M;@,%E>\%BVQL: /&>SLV;X14 ]J)4]K_E 4;=ZL<CK.%*K1:*2DTPU1*6FM6
MNH Y54HJM/!F:[T=Q^SB>50L.^Y9RYV^PGT!-Z2YM/!!YYB_Q,=.9R\VW8J=
MI0<)OZSU*0R2$TB3='" ;] G/PA\@U?X]B5\/UU:-JY8?NU+N.4;[N?S#71I
M&R%Q$KD.L6@>,<J.C\XNDJL#:H>]VN$A]NRK*_%=Q8:TLR6Z%F%[TF;P#/?=
M>H=/#+.*Y,/>1 Z'ND6)_Q3$BVAP?#1*D\%5O_X7\-/-%R98(DQS:AASN"/(
M!>,)<(D&H12/Z*Y1@R;W\+X/%N_4>8VF"-UL(<1L2[X_[0?&M.V3O^[MM+D1
MIE#:0H4K!TU.WYU'8-H.;C=,3>B:);'KP6"6;NBA\0[N?D7$VXT/T(_1[ ]0
M2P,$%     @ <X0#5_&(IBP: P  [08  !D   !X;"]W;W)K<VAE971S+W-H
M965T,C@N>&ULK551;]LV$/XK!S4K5D"32(J2[-0V$*<KV@%=@\3K'H8]*/)9
M$B*)'DG'Z;_OD;)5;W#]M!>)1][W\;N/XFFV5_K)U(@67KJV-_.@MG9['<>F
MK+$K3*2VV-/*1NFNL!3J*C9;C<7:@[HV%HQE<5<T?;"8^;D[O9BIG6V;'N\T
MF%W7%?KK$ENUGP<\.$[<-U5MW42\F&V+"A_0_K&]TQ3%(\NZZ; WC>I!XV8>
MW/#KI73Y/N%+@WMS,@97R:-23R[XN)X'S G"%DOK& IZ/>,MMJTC(AG_'#B#
M<4L'/!T?V=_[VJF6Q\+@K6K_;-:VG@>3 -:X*7:MO5?[#WBH)W5\I6J-?\)^
MR)5I .7.6-4=P*2@:_KA7;P<?#@!3-@/ .( $%[WL)%7^:ZPQ6*FU1ZTRR8V
M-_"E>C2):WIW* ]6TVI#.+OX75F$!'Z!>WS&?H?T+E75-]ZRGU?%8XOFS2RV
MM)4#Q.6!=CG0BA_09O!)];8V\&N_QO6_\3%)''6*H\ZEN$CXVZZ/(&$A"":2
M"WS)6'?B^9(+=1L8ZCM7WH"6Y]'NIER;;5'B/*"K8% _8[!X_8IG[.T%;7+4
M)B^Q+]XUIJ@JC57A3T%MQL/YRPN&%;Y86+:J?/K[G/;+[*M:(T(W' ^ZXP$R
M%[VYKU]-!$O>PD]N4_\XSCC;1QD4B#&XO5E]@2N8AHE,0(@H)> 5B"3,>0(R
MC1**W:<)M]A;U"#R,,TY9%DD:$7P4$YSD#SB%*W<;54=R% D'#CS*5DH\@RX
MB!@%[U>K#Y"FP'R^R ^#S[8F:LE3X#XMGQ#"2UDI6[2CV"O*"3.7QIA/O()4
MA&(Z'2<>FI?_WYPD#SFE)%-?$(F8A-E4@LRB[#_NR#R<"@DI\RM2A%/.G3OL
MQ!U*228PB23-<1ZFDJSB)^X<3>%$=&H/5<X2LB5W:V0JHW%RQJ*I##-Y:A%G
MDG9AQYESGWA\TH(ZU)5OM 9*M>OMT(W&V;&7WPPM['OZ\"/X5.BJZ0VTN"$H
MBW)JG7IHKD-@U=8WM$=EJ3WZ84W_(]0N@=8WBB[W(7 ;C'^XQ3=02P,$%
M  @ <X0#5R!FP"_$ P  M0D  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN
M>&ULE59M3^-&$/XK(U][ BF-WV+'X9)(P-VIK8X6 >VIJOIA<2;Q"MOK[JX)
M_/O.K$T($$)1HGWSO#S/SLSN3M=*WY@"T<)=5=9FYA76-D>^;_("*V&&JL&:
MOBR5KH2EJ5[YIM$H%DZI*OTH"%*_$K+VYE.W=J[G4]7:4M9XKL&T527T_0F6
M:CWS0N]AX4*N"LL+_GS:B!5>HOVC.=<T\S=6%K+"VDA5@\;ES#L.CTX2EG<"
M?TI<FZTQ,)-KI6YX\LMBY@4,"$O,+5L0U-WB*98E&R(8__8VO8U+5MP>/UC_
MZK@3EVMA\%25W^7"%C,O\V"!2]&6]D*M?\:>CP.8J]*X%M:=[#CU(&^-556O
M3 @J67>]N.OW84LA"UY1B'J%R.'N'#F4GX45\ZE6:] L3=9XX*@Z;0(G:P[*
MI=7T59*>G?^F+,((?H)O2-P,'%R)ZQ+-X=2W9)UE_+RW=-)9BEZQE,*9JFUA
MX$N]P,53?9]0;:!%#]!.HKT&?VWK(<3! *(@BO?8BS=48V<OWD/50,=O%[U.
M>[1;FXOCR#0BQYE'V6]0WZ(W__@A3(-/>["--MA&^ZS/W>X/X%09"W\[B'"%
M=Q9.2I7?_+,+[5Y[N]%>%1H1JBY*R%$"VF-T>WPI[U[Y\O%#%@7Q)Q<%;J*M
MT>\-:F%EO8*2"0#>T6%!_0\092&WDYC:)$VXG63P5=:BSE_*9_0+4_Y?%DI;
MXJZK9R(QA&-((0KA2EE1OG0XB:B-PXQ=96-JTSAY%ZWOKH))YOB66*T0+I!/
M-4;KPM.A.O@+A3:'5#'J*7D#R9"(IL-T_&Y3RZ?[8B 8QD28FQ>F/DN3J[:V
M<"&H='? B(=1 #]R%U'WIOX+W\DP8/V^>\\.G@I30"/D NBV %&Q&P.RSLN6
M-64-MJ $)#>M1CK9+:AE'\A2BFM92BL)P(/AA_XQRW)VL*2+Q,!2J^HE=\X
M3KST27(^5WM&&4*(ME+S3>D )K"GYI--S2=OU+PQ2$7_B%/4BQX'0G\B?.OW
MY7X 9\*VFD;_\X#8ZWSW ?&(Y'$W*+ CVM!PT/7)B%<2FD>CU$4HC%P*I+P4
M3K:7QJR5/)'*>&F<;2]-'&U*#'I3+"UJMI.&&XGM:F_$/6>-@72092/&PGL(
MLFI:Z_*+U)%.T(.43I]#..#FG-E1IMV*LN5S(AU03C&1>&<,_:VKM$*]<@\&
M ZYBNEMUL[IYDQQW5_&C>/>@.1-Z)6M#V)>D&@S'%!'=/1*ZB56-NYBOE:5K
MW@T+>E>A9@'ZOE1T8_43=K!YJ<W_ U!+ P04    " !SA -7.#P<=),"  "\
M!0  &0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q]5&U/VS 0_BNG,*%-
MRDB:-&T';23*B[9)3 C8]F':!S>Y-A:.7>P+8?]^ME-"-TJ_.&?[GN>>.^=N
MVBI];RI$@J=:2#,+*J+U<129HL*:F2.U1FEOEDK7C.Q6KR*SULA*#ZI%E,3Q
M**H9ET$^]6?7.I^JA@27>*W!-'7-])\Y"M7.@D'P?'##5Q6Y@RB?KMD*;Y&^
MKZ^UW44]2\EKE(8K"1J7L^!T<#P?.G_O\(-C:[9L<)DLE+IWFR_E+(B=(!18
MD&-@]O.(9RB$([(R'C:<01_2 ;?M9_9+G[O-9<$,GBGQDY=4S8)) "4N62/H
M1K6?<9-/YO@*)8Q?H>U\1S9BT1A2]09L]S67W9<];>JP!9C$;P"2#2#QNKM
M7N4Y(Y9/M6I!.V_+Y@R?JD=;<5RZ1[DE;6^YQ5'^31%"!A_AC)DJ]"M</#3\
MD0F49(#)$F[0D.8%8=G=O[]C"X'FPS0BJ\#Q1,4FVKR+EKP1;0172E)EX$*6
M6/Z+CZSR7G[R+'^>["7\VL@C2.,0DCA)]_"E?3E2SY?N*8>!+K]=Z77HX6ZT
M:Z!CLV8%S@+;(0;U(P;YX<%@%)_LT3;LM0WWL>>WMB'+1B"H9?<.[FU>/=@O
M+Q[N\(E@+E1Q_WM7'GLC[<[#EAI]J<^QP'J!&M)!"(<'DR1.3WS]W9*\2"N<
M@5O2WD$R"+/QQ!G#<#3)MO\L[ST.XW0(@SC\%"=PIX@)?QZ^YG(!]']H4ZE6
M I= %8(A1FBG![ER^>NE'4!>Q"0<#1)KI%F83<:PZVFBK8ZJ4:_\W#!0J$92
MUUS]:3^:3KN.?''OYMH5TRLN#0A<6FA\-,X"T-VLZ#:DUKX_%XILMWNSLN,5
MM7.P]TME?\K-Q@7H!W;^%U!+ P04    " !SA -7"RYK%G$#  #S"   &0
M 'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6RM5EMOZS8,?L^O('R&@Q;PXGN2
MMDF INVP#3M%T70[#\,>5)M)A-J2)\E-SK\?)3MNAZ59,.S%(B62^G@3/=U*
M]:(WB 9V52GTS-L84U\&@<XW6#$]E#4*.EE)53%#K%H'NE;("J=4E4$<AJ.@
M8EQX\ZG;>U#SJ6Q,R04^*-!-53'U;8&EW,Z\R-MO//+UQMB-8#ZMV1J7:'ZM
M'Q1Q06^EX!4*S:4 A:N9=QU=+C(K[P1^X[C5[VBPGCQ+^6*9GXJ9%UI 6&)N
MK 5&RRO>8%E:0P3CS\ZFUU]I%=_3>^L_.-_)EV>F\4:67WEA-C-OXD&!*]:4
MYE%N?\3.'P<PEZ5V7]AVLJ$'>:.-K#IE0E!QT:YLU\7A%(6X4X@=[O8BA_*6
M&3:?*KD%9:7)FB6<JTZ;P'%AD[(TBDXYZ9GYO30((_@>[I@27*PUG/TBM3Z'
M!U2PW#"%</;$GDO4Y]/ T(56+<@[XXO6>/R!\1%\D<)L--R) HN_ZP<$M$<;
M[]$NXJ,&?V[$$)+0ASB,DR/VDM[[Q-E+CGBOH?7OD'NM=GI8V_;+I:Y9CC./
M&D*C>D5O_OE3- JOCF!+>VSI,>OS)?5?T90(<O66G#XK/BR8YCDP4< M+QN#
M!?SN'($GW!E8E#)_^>.03\=O?=HH1*C:M*%-&U#0T05]R7>'3P:?/TWB,+ER
M:;&?^(T:W#<5*F:DNH2]V ?KX)X>H9*J#[Z#LVCD7Z0IG#LZ]=-LU-))XL?)
MN*-#/XLF<#ZX12&I.4Z[Y:OK5(+/7@G8&D';@&IH-.T9";FL:HHGB#V:FH+N
M9/[5=)N3^,)/)Q<0C_U1%%LNFL26RY+Q8)^K8S+W__5B"DDXS+K@$!5WX1M&
M:4]%-EP=B!/ECQ1SUA=S=G(Q7PO#"XN GF-88MXH;CC%_VZ7EXTMJY62%=RX
M+##W=!_L@!/+_2BNPRW\__? 7567\AL9I?<\?P%96[>TRUX47WVT#AY1&\5S
MFZI6L1'<:$@O)KUH.DYZ\65;QS2IJ88%%;?A-D :!:<MX=ZZU,\FXW]^!T_2
ML))>DW>IZ=HB\\-)ULD2/0H[^E!5!.\&$77]VHU;36@:8=J9U._V$_VZ'61O
MXNWOP!>FUIQB5.**5,/AF!*IVA';,D;6;JP]2T-#TI$;^BM!907H?"7)X8ZQ
M%_3_.?._ %!+ P04    " !SA -7E,_C\XX"  !V!0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S,BYX;6Q]5-%.VS 4_96K#$V;%$CJI&D*;23*AL8D)@1L
M/$Q[<)/;UL*Q,]NA\/>SG1 ZJ?0EN7;N.3['\?%L*]6CWB :>*ZYT/-@8TQS
M&D6ZW&!-]8EL4-@O*ZEJ:NQ0K2/=**25!]4\(G&<135E(BAF?NY&%3/9&LX$
MWBC0;5U3];) +K?S8!2\3MRR]<:XB:B8-72-=VA^-C?*CJ*!I6(U"LVD (6K
M>7 ^.EVDKM\W_&*XU3LU."=+*1_=X*J:![$3A!Q+XQBH?3WA!7+NB*R,OSUG
M,"SI@+OU*_NE]VZ]+*G&"\D?6&4V\R /H,(5;;FYE=MOV/L9.[Y2<NV?L.UZ
MQW$ 9:N-K'NP55 ST;WI<[\/.X#\/0#I <3K[A;R*K]00XN9DEM0KMNRN<);
M]6@KC@GW4^Z,LE^9Q9GBAS0($SB&*_&$PDC%4,.G>[KDJ#_/(F.7<(U1V=,M
M.CKR#ET&UU*8C8:OHL+J?WQDI0WZR*N^!3E(^+T5)Y#$(9"8) ?XDL%OXOF2
M WXU=/[VV>O0Z7ZT2\BI;FB)\\!&0*-ZPJ#X^&&4Q6<'M*6#MO00>W%G$U>U
M'$&NAM_Q$L)%JY2MX;=7#??X;&#!9?GX9Y^!@TN\9R G<7(&=J]QV&OX@B76
M2U20C/P,@5NZM4?/H&*4:S@",@Y'T[0K)@F!!YL_8 (:)4O4&JBH;-B7QU1K
MR\3=R4I(2/())--PG"5PR02S1[>"M925ACS,TQA&:9CD*=Q+0[EE>SN51Y!E
M84)&MIA,PVPRA7U['NUDH4:U]HG74,I6F"X6P^QPJ9QW67IK[VZD:ZK63&C@
MN++0^&0R#D!U*>\&1C8^64MI;$Y]N;$7(RK78+^OI#UM_< M,%RUQ3]02P,$
M%     @ <X0#5^I-D$0L P  P08  !D   !X;"]W;W)K<VAE971S+W-H965T
M,S,N>&UL?551;]LV$/XK!RT86D"+1$J6Y-0V4*<MMJ$IC#;;'H8]T-+9)B*1
M*DG%R7Y]CY*L9%CB%_)XNN^[[X[2:7'4YLX>$!T\-+6RR^#@7'L51;8\8"/L
MI6Y1T9.=-HUP=#3[R+8&1=6#FCKB<9Q%C9 J6"UZW\:L%KISM52X,6"[IA'F
M<8VU/BX#%IP<7^7^X+PC6BU:L<=OZ/YH-X9.T<12R0:5E5J!P=TR>,^NUJF/
M[P/^E'BTSVSPE6RUOO.'WZIE$'M!6&/I/(.@[1ZOL:X]$<GX/G(&4TH/?&Z?
MV#_UM5,M6V'Q6M=_R<H=ED$10(4[T=7NJS[^BF,],\]7ZMKV*QR'V'0>0-E9
MIYL13 H:J89=/(Q]> 8HXE< ? 3P7O>0J%?Y03BQ6AA]!..CB<T;?:D]FL1)
MY2_EFS/T5!+.K;YHAU# +[ Q=-'&/8:PJ85R(%0%'[]WLJ4;</#F5FQKM&\7
MD:.D'AJ58X+UD("_DB"#&ZW<P<)'56'U7WQ$8B?%_*1XS<\2_MZI2TCB$'C,
MDS-\R=2!I.=+SG3 PE#?2^4-Z/1EM/]FKFPK2EP&]%%8-/<8K'[^B67QNS/:
MTDE;>HY]=?Y2_NY%PRT^.%C7NKS[YR7]9S.\IK_@<?(.J-4XM1H^8(G-%@TD
MK/=P^.SUR*8U^AZ](@L74,39N*X[65=2[2W\+ZR8A4G*H<C").=P(\H#R3*/
M?2!.]?$T#SF%\1D+.<O@4V>4=)W!/FXG'[QMP7-E?BTX7.NF[1QI?&+QL5;O
MW%$0D+%P5N1^RUD"MT8HVVKC1#\AGC!9QB#+YW!J1#*+PWF1TIZ%+"O@,UJJ
MJBR[IJN%PXKF '6OE ./SR@:HI7_#HXWK$C"E/C>DIGGX8QY\T3.,O+$,V!Y
M$6;IG&I0UIENF%I2 ?5M;WQ"/@]YGO@+29-T:#X+6<S&]58[4?OH\95IIU=F
M*BP$17/^ M@\#PO2<P&<Q2&CREYZ6:-G8Z5!L^^'IX52=\H-$V;R3O/Y_3"6
MGL*'X7XCS%XJ"S7N"!I?YK, S# PAX/3;3^DMMK1R.O- _UCT/@ >K[3])F.
M!Y]@^FNM?@!02P,$%     @ <X0#5[ LT[T# P  FP<  !D   !X;"]W;W)K
M<VAE971S+W-H965T,S0N>&ULM57;3MM $/V5D:D02 $[OA%#$BGATE(5%$':
M/E1]V-B3Q,+>37?7A/;K.^L;H*86#^V+/7N9L^?LS,X,MT(^J#6BAJ<\XVID
MK;7>G-JVBM>8,W4L-LAI92EDSC0-Y<I6&XDL*9WRS'8=)[1SEG)K/"SG9G(\
M%(7.4HXS":K(<R9_3C$3VY'5MYJ)NW2UUF;"'@\W;(7WJ#]O9I)&=HN2I#ER
ME0H.$I<C:](_G09F?[GA2XI;]<(&HV0AQ(,97"<CRS&$,,-8&P1&OT<\QRPS
M0$3C1XUIM4<:QY=V@WY5:B<M"Z;P7&1?TT2O1]; @@27K,CTG=A^P%I/23 6
MF2J_L*WW.A;$A=(BKYV)09[RZL^>ZGMXBX-;.[@E[^J@DN4%TVP\E&(+TNPF
M-&.44DMO(I=R$Y1[+6DU)3\]OA4:(8(CN.::\56ZR! F2J%6/;BEG#B8,YI2
MAT-;TVG&QXYKY&F%[/X%.80;P?5:P25/,'GM;Q/+EJK;4)VZG8 ?"WX,GM,#
MUW&]#CROE>Z5>%Z'= 65OEWR*F]_M[=Y+*=JPV(<6?0:%,I'M,;[>_W0.>O@
MYK?<_"[T\3T]OJ2@6(@E7*4\U7CTB;(W^3-,\*U4 '-\TC#-1/SP?9>8SN-V
MBZ'[QO:^87]OX#K>&;R70BF8Q'&1%QG3KRDUFR:Y*+@&E@NITU^L>G]U5G'*
MJADY<N+^#J*>VP_I?Q#T0M^!0S*]7G 2PERRA.H/U28X\>' #6C-CV N-,L@
M?3ZR@JV0(J=&"H,:*22_"XPQ7Z $KU]J<?^7ED$OBOR*@><U6L+0?ZDE"$E+
MG]:\H%.+$]1:O*#?($41=*16T*96\(]2JP=7A2XDFBMXUG[Y1 U!X1OSKI/+
M[KRC$)E;#/W01"L@(S)&V!@GC3%HC @83T"OD=K24IM(#[PV_+NNS'Y1,'.4
MJ[(M*(A-I*O:V<ZVG6=2%=SG[57;NF%RE7(%&2[)U3D^(<6R:@750(M-67X7
M0E,Q+\TU=4^49@.M+P75H7I@#FC[\?@W4$L#!!0    ( '.$ U=F>\6PJ ,
M $H(   9    >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;(U6;6_;. S^*X17
M#"W@QN].VB8!FN[>AO50--WMP^$^*#:3"+4E3Y*;9K_^*-GUVD.6VY>(DLB'
M#TF3RG0GU:/>(AIXKBNA9][6F.8R"'2QQ9KID6Q0T,U:JIH9VJI-H!N%K'1&
M=17$89@'->/"FT_=V9V:3V5K*B[P3H%NZYJI_0(KN9MYD?=R<,\W6V,/@OFT
M81M<HOG<W"G:!0-*R6L4FDL!"M<S[SJZ7&16WRG\Q7&G7\E@(UE)^6@W?Y0S
M+[2$L,+"6 1&RQ/>8%59(*+QM<?T!I?6\+7\@OZKBYUB63&--[+ZPDNSG7D3
M#TI<L[8R]W+W._;Q.(*%K+3[A5VGFX<>%*TVLNZ-B4'-1;>RYSX/KPPF/S*(
M>X/8\>X<.98?F&'SJ9([4%:;T*S@0G761(X+6Y2E473+R<[,_Y0&(8K@'*RD
MX8[MV:I"8**$3U)LS@VJ&C[@RL#I@[W19]/ D&-K'A2]DT7G)/Z!DQQNI3!;
M#;^($LNW]@$1'EC'+ZP7\5' CZT801+Z$(=Q<@0O&;*0.+SD2!8T=/$="J^S
M3@];V[ZYU TK<.918VA43^C-W[^+\O#J"+=TX)8>0Y\OJ0_+EDHBUUT=_G8\
MX0&?#2PJ63S^<XCR4=##E"FK.&25?!58KU!!$KF3&.[Q259/7&S PED^A<*2
M&_IDS188?!XM1]0BXA':!HR$$XC'H_$DA(M1GB<0Q4&4!@X[BH(HMV)&2ID_
M24*KG/EA&/ZOEYLM%^RMF^C"#Y,QI*-L#/DHBN&6[2%.'>T4HL0?TP4M41C#
M30>V9@6ON-D?08US/\\B0DTS0LW!I2=WH(0V\?-)0K(?I2$LV]6YD895D$S\
M>!Q"1DL:PR?4FF8$%8UKW3)1(!12&^V#H'E[>G&1PAF<1GZ43TCX3=FNZW'&
MA)-#-O;#<=KA%*U2* PT4KF!=MKK$$*O=D9-+,[_JW<"[]]-XBB^>B4M;*#7
M18&-<:S>-K_5"I.K877:[+NV<-HV)+1\X0E%*95^R>4W5!(:5(5EP05-$-0&
M%*-)<P*4-RH5U2SV$Q*.-$@V-$CVTPURRTRKN.%$CW9N@#T, ^SG&N>HL\.-
M\X7BY@(D?1][9(JBZTNSP+VDD@X7+^E_<#6F-U)30DO[K0\FAQ(2O)KO-:J-
M>\7H@Y"M,-VH'TZ'A_*Z>Q^^JW>O["U3&RXT5+@FTW TIG!5]W)U&R,;]UJL
MI*&WQXE;>NQ1606Z7TLJ?K^Q#H:_#_-_ 5!+ P04    " !SA -7)H/_*@8#
M   R!P  &0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6R-55UOVC 4_2M7
M:5>U$FN^@$(+2*7MM$YJA0K='J8]F.0"5A.;V4ZA^_6[=B PE49[2/QYCL^]
MMH][*ZE>] +1P#K/A.Y["V.6E[ZODP7F3)_+)0H:F4F5,T---??U4B%+'2C/
M_"@(VG[.N/ &/=<W4H.>+$S&!8X4Z"+/F7H;8B97?2_TMAU/?+XPML,?])9L
MCF,TS\N1HI9?L:0\1Z&Y%*!PUO>NP\MAR\YW$[YS7.F].MA(IE*^V,9]VO<"
M*P@S3(QE8%2\X@UFF24B&;\WG%ZUI 7NU[?L7USL%,N4:;R1V0^>FD7?ZWB0
MXHP5F7F2JZ^XB<<)3&2FW1]6Y=SVA0=)H8W,-V!2D'-1EFR]R<,>H!-\ (@V
M@,CI+A=R*F^988.>DBM0=C:QV8H+U:%)'!=V4\9&T2@GG!D\2H,01O 9;J1X
M167X-$,8H^!2@1W4<#IAU*?/>KZA!2W,3S;DPY(\^H"\#0]2F(6&.Y%B^B_>
M)Z&5VFBK=AC5$GXKQ#G$00.B((IK^.(J^MCQQ371:RCC.Q1>B6X>1MO[<JF7
M+,&^1Q="HWI%;W!R%+:#JQIMS4I;LXY]L+\?MS@U\-/IA FN#0PSF;S\.B2Y
MEO2P9,HJNJS>8H+Y%!7$80-.CCI1$%^Y5-M?!"/%1<*7+(-CZ 2-5A#L*L^"
MY9+4_L&4+@6IY5H73"0(B=2&#E&KTX0S..UV;?%(;I,PI=ZXF ,!"V&(ZJ+;
MZ(;MLM(*VE"3Q%:5Q%9M$N^%08K3P+U(9([ 1 I5W]V:K$U3=KE.,JD+A?^9
MX_HU)PN%"'EY\M&>?*@R/.;K#T;>IWM7HZ-@%/E70:GG6_6X47\,88,<>*^,
M&D$85^5UN2_,F:"<'=R=B'#V:X:!^R;2["]E)SG^B)QB5T:-9A17Y=ULALYB
M=SC%R%Q:YR%\>O\_M+G^GH_EJ.;.K34M3^>CM+2JMWH0KDL?W$TO7Y,'IN9<
M:,AP1M#@_(+V3)4.73:,7#I7G$I#'NNJ"WK44-D)-#Z3Y V;AEV@>B8'?P%0
M2P,$%     @ <X0#5W0,MO'> @  -08  !D   !X;"]W;W)K<VAE971S+W-H
M965T,S<N>&UL?55=;],P%'W?K[@*$P*I+%]-/T9;:1T@0 Q-VX 'Q(.;W+36
M'#O8SMK^>ZZ=-BM2UX<F_KCGW'/LW-O)6NE'LT*TL*F$---@96U]&88F7V'%
MS(6J4=).J73%+$WU,C2U1E9X4"7")(H&8<6X#&83OW:K9Q/56,$EWFHP354Q
MO9VC4.MI$ ?[A3N^7%FW$,XF-5OB/=H?]:VF6=BQ%+Q":;B2H+&<!E?QY;SO
MXGW 3XYK<S &YV2AU*.;?"FF0>0$H<#<.@9&KR>\1B$<$<GXN^,,NI0.>#C>
MLW_RWLG+@AF\5N(7+^QJ&HP"*+!DC;!W:OT9=WXRQY<K8?P3UFUL1AGSQEA5
M[< TK[ALWVRS.X<#P"AZ 9#L (G7W2;R*C\PRV83K=:@732QN8&WZM$DCDMW
M*?=6TRXGG)U]5Q8A3N$=7.6Y;K" ;YPMN."6HX$W#VPAT+R=A)9R.428[WCG
M+6_R N\ ;I2T*P,?98'%__B0-'9"D[W0>7*2\&LC+R"->I!$27J"+^V,IYXO
M/6'<0.OOF+T6W3^.=J5R:6J6XS2@6C"HGS"8O7X5#Z+W)[3U.VW]4^RS>RJ]
MHA$(JCQZ+;^];'C C86Y4/GCGV,.3N8X[H .&;M#A@^88[5 #6GL5Y*SO9B:
M;;42 LYAV$M&8WJ/>\/H>1^K6J@M(BQ08LFM@;079V-Z)H.LBS*6T<?'9 'D
M@0FP;$/FXEX4]R$;C;HX+BV21$M;?9(5][+Q\.RJ>&(R;[50DZ 4\2"&)!YT
ML%Q5%3>^>^"&FI@A\F$R@G$Z?#:B58D^AO*72!'D$_K1^#"B:'(+:Z8UDW8+
M<3^C7]0%*+NB(\I&,:2#T=F#LL3$=GOBX-+.">4.R0WHU)($CGTIX4$I5ZB7
MOF$9\M)(VU9UM]KUQ*NV%3R'MPWUANDEEP8$E@2-+H99 +IM4NW$JMHWAH6R
MU&;\<$5]';4+H/U248WL)BY!]T\Q^P=02P,$%     @ <X0#5\(.M>'L @
M* 8  !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL?55M;]HP$/[.KSBE
M4P42;5Z!K 6DLG5=)[6K6K9]F/;!) >)FMC,-H7^^YWM0)E$D2+'9]\]]]Q=
M[C)<"_FL"D0-F[KB:N056B\O?%]E!=9,G8LE<KJ9"UDS3:)<^&HID>76J*[\
M* CZ?LU*[HV']NQ!CH=BI:N2XX,$M:IK)E\G6(GUR N][<%CN2BT.?#'PR5;
MX!/J'\L'29*_0\G+&KDJ!0>)\Y%W%5Y,$J-O%7Z6N%9[>S"1S(1X-L)M/O("
M0P@KS+1!8/1ZP4]850:(:/QM,+V=2V.XO]^B?[&Q4RPSIO"3J'Z5N2Y&7NI!
MCG.VJO2C6'_%)IZ>P<M$I>P*:Z?;'WB0K906=6-,#.J2NS?;-'G8,TB#=PRB
MQB"RO)TCR_(STVP\E&(-TF@3FMG84*TUD2NY*<J3EG1;DIT>WPN-$"9P!M]U
M@1)N>29J!,9SN-Y0Y15">\IF%:K.T-?DT)CY60,^<>#1.^!]N!-<%PJN>8[Y
M__8^$=VQC;9L)]%1P&\K?@YQT(4HB.(C>/$N^MCBQ4>B5^#B.Q2>LTX.6YM^
MN5!+EN'(HX90*%_0&Y^>A/W@\@BW9,<M.88^?J+^RU<5@I@WM;D7G)I1,EWR
MQ;90[:9*'?AMPX I;C1,*I$]_SD4T7&?TT(B0NV*AJ9H0"E'F_*G<G/XIG5Z
MDD9!?&F+8I;H;=>BUJ'&X(";K&!\@: EXXJYEES0T(!V)93JP =(PIC6=I2F
M8,1PT#=B&H;0:=V(%Y2<AH&F\3%39?X*I4O (.Q!&M,30QA$+9<I+OC96ZJL
MFX0(I?2EQY#T6C=[CHE'7JJE4*PRJ69*H5;03HA$.S;+@):XUYH*;30L?N.[
MC2[YA-(%3A.46'?#_L#P#M/ A=$-DYXYZ$<?H7/HN_#WNK=&N; S2D$F5ER[
M1MZ=[L;@E>O^-W4W0^^87)1<085S,@W.!ST/I)M+3M!B:6?!3&B:+'9;T"A'
M:13H?BZH(QK!.-C]',;_ %!+ P04    " !SA -7H >0M_<$  #=#@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6SM5VU3VS@0_BL[.>:&SAC'EM\2
M"IF!E/;:N;8,T/;#S7T0]B;Q8%NNI$"X7W\K^26T!+<=[N-] .ME]]'NZMF-
M]NA.R!NU0M2P*8M*'8]66M>'X[%*5UARY8H:*]I9"%ER35.Y'*M:(L^L4EF,
MF>?%XY+GU6AV9-?.Y>Q(K'615W@N0:W+DLO[4RS$W?'('W4+%_ERI<W">'94
M\R5>HOY4GTN:C7N4+"^Q4KFH0.+B>'3B'YXF1MX*?,[Q3CT8@_'D6H@;,WF;
M'8\\8Q 6F&J#P.ESBW,L"@-$9GQM,4?]D4;QX;A#?VU])U^NN<*Y*+[DF5X=
MCR8CR'#!UX6^$'=_8.M/9/!242C['^Y:66\$Z5II4;;*9$&95\V7;]HX_(P"
M:Q68M;LYR%KYBFL^.Y+B#J21)C0SL*Y:;3(NK\RE7&I)NSGIZ=D'H1'\" [@
M<L4E'A@/,YB+DFY=<1NX_2M^7:!Z<336=*!1&Z<M^&D#SIX C^&]J/1*P5F5
M8?:M_I@,[:UEG;6G;!#PW;IR(? <8!X+!O""WOO X@4#WBMH_-OE7J,=[M8V
M^7*H:I[B\8@20J&\Q='L]]_\V'LY8%O8VQ8.H<^:^SBU]W'.[RD1-)Q(R:LE
MFK$#'VMS/0Z<&&+G^A[^LH[ %6XTG!8BO?E[ET^#IS[ETX1YP4OHOE\LU\FN
M)Q>>U#BY14G)WF]\/__^V^W;:,"YS%/<@EV@*3MYM823Y5+BDNLMT(=U>8T2
MQ +.-BC37"$0EU\9$5KK8.?$3TF58<T+>$O#G*I-VF,H<ZAJ3^UA7O-<PF=>
MK!'^S!?8#CN=_;P"O1)KQ:M,.8";%&L-M87(*$-?P,>U5IIVC=U<PSM>K:D<
M@M^P&E@<P![XGAOZ/>@>1&X8@><F/HT/@ K2 G,3@OT@A!>0N)$'H9L$M'?P
M\  '*&6P3QE@;&J@)V$/';E13, !(\761<.B7U/\C,H80V>2PS457)IH ;>T
M_ /-@42)^D2)GI<HYRCMKU>5MCQ2OYPT@Q8,)\T/<V,WU;<9,T#MAID=KSL
M2] GV4QJ%_2C2.%JF?L?\S>)8^)H[":1H;$3A@F\H<LPKB1Q A-W,H7 B4BJ
M-:.)C,]>/OK.S945!6;C+>&?DAT@O>]$ =GE3AA,'9\29HBNCX0'&!KW#(V?
MQ] +.IDB;.RXU,1!^%3E^I=).FC$_R3]IL@ZS/=L64T,6T/')[IV-&6.EX14
M3F./*!"%WI:H^]'$HW(;NT%"4 'S=U)TW_>-5.!. XBC<(B:E C3D*SP(F"4
M*XP-<O.Q]  YDYZ<R?/(>;8Q;\'6ICFO<\V+_!_,B)^E6)/TS[%ST(K=[+Q:
M240HFS<DFC<D7.:;;Q<Z2O1Q[0?=3G/A'D5K.WKXV$T?/G8/X/K>!IX\!GU?
M/WZ9S 7=!/%S*42F0(DB,W4N,C3R_9#^L\0PBT6&-PJY3%<V<AG>4@M4V_B&
M1*. 2)(D"<3$O$M.#U K19W1#6K#6C;UP9_$)$M_/H,W6%'F%%:*9]0*Y%0S
MN.EIB+!^$-G*%1)')KXIL"R9PI6@JVI2:I>OG9M[).[%S!CM^*%Q(7*"B-F\
MB/UX)\G&#UJ.$N72-E:*\(D03??1K_:]VTG3LFS%F\;O/9=+*@)0X()4Z8U#
M/[:R::::B1:U;6"NA:9VR Y7U'^B- *TOQ#TC&\GYH"^HYW]"U!+ P04
M" !SA -72 .XUC$#  ")!P  &0   'AL+W=O<FMS:&5E=',O<VAE970T,"YX
M;6RE55%OVS80_BL'M2@V@(TH2K+DU#9@IUW;H2V")&T?ACW0TMD2(I$>2<?N
MOQ])R:JW.7K9BXX\\KZ[CY]XG!VD>M05HH%CVP@]#RIC=M=AJ(L*6ZZOY Z%
M7=E(U7)CIVH;ZIU"7OJ@M@D9I9.PY;4(%C/ONU6+F=R;IA9XJT#OVY:K'RML
MY&$>1,')<5=O*^,<X6*VXUN\1_-U=ZOL+!Q0RKI%H6LI0.%F'BRCZU7J]OL-
MWVH\Z+,Q."9K*1_=Y&,Y#Z@K"!LLC$/@UCSA#3:- [)E_-5C!D-*%W@^/J'_
MYKE;+FNN\48VW^O25/,@#Z#$#=\WYDX>/F#/QQ=8R$;[+QRZO9G-6.RUD6T?
M;.=M+3K+C_TYG 7D])D U@<P7W>7R%?YEAN^F"EY .5V6S0W\%1]M"VN%DZ4
M>Z/L:FWCS.*+- A1!J_A/<JMXKNJ+N"CZ-1VQ_;+ U\WJ'^=A<:F<T%AT4.O
M.FCV#/0$/DMA*@WO1(GE/^-#6^90*SO5NF*C@+_OQ17$E "C+![!BP?NL<>+
M1[AKZ/A=HM=%)Y>CW6VYUCM>X#RPUT&C>L)@\>I%-*%O1FI+AMJ2,?3%'3ZA
MV"-LE&SAW=&@$KR!&_]#H-*P_G$NV-+>1PU_>"KP@$<#JT86CW]>8C6:]S*K
MATHA0MNIB4Y-L%J@U^*^/CZS\NI%SFC\QJOE/NQLU-/3U\.NY^Q741N+>F^X
M$^LE,))19FU$HB2S=FIM9&UL_:D5LSYP 7%"6!9!G!%FG=F$3-(,)@F9Y@G<
M5+7@D)!)PB"*R=2BY"2WWS@E>1H-B5]"$I%)E-I!R@B;3ETR%^8\$4U(FE 8
M43H=E$Y'E?XDQ?;U)]N:2EAJC>;_:#N:Z;*V2PUR Z9"V*&J9=FK>#J%0<VW
M6&"[1@5Q=$E:SZ+Q++AG\5]E_ZVDDX6ZP\PIH4E^TB[)"+4*IY1D6=:KE><D
MFL8PC4F>YV<*L2@B.:5NQ!*21?%%0<*S]F@OS]8_ AH*N1>FZY2#=WAGEEU[
M_;F]>Z0^<[6MA88&-S:47F7VQ%77^+N)D3O?;-?2V)OJAY5]*U&Y#79](VW3
MZ2<NP?#Z+OX&4$L#!!0    ( '.$ U=(N%#HV@(  #@'   9    >&PO=V]R
M:W-H965T<R]S:&5E=#0Q+GAM;+U5[V_3,!#]5TYA0IM4FC3K#QAM)-IN,(E"
MM3(00GQPDVMCS;$SVVF[_YYSFH6"LH+XP)?$CN^>WWL7GX=;I>],BFAAEPEI
M1EYJ;7[A^R9.,6.FK7*4M+)2.F.6IGKMFUPC2\JD3/AA$/3]C''I1</RVUQ'
M0U58P27.-9@BRYA^&*-0VY'7\1X_W/!U:MT'/QKF;(T+M+?Y7-/,KU$2GJ$T
M7$G0N!IY;SH7XX&++P,^<]R:@S$X)4NE[MSD.AEY@2.$ F/K$!B]-CA!(1P0
MT;BO,+UZ2Y=X.'Y$ORJUDY8E,SA1X@M/;#KR7GJ0X(H5PMZH[3NL]/0<7JR$
M*9^PK6(##^+"6)55R<0@XW+_9KO*AX.$,'PB(:P2PI+W?J.2Y919%@VUVH)V
MT83F!J74,IO(<>F*LK":5CGEV>B#L@@=> %3-+'F>6F56L&X,!1I#)Q.T3(N
M#'S"G2V8.*/8&9/%BOPL-)=KN&(Q%]QR-, ES&\F\&V&V1+U=PK]6J1,PL?<
MJK(06DD>$U2<2B74^@$FJMV"]S;YF7/B4&9<"&)BAKXED8ZJ'U>"QGM!X1."
M%IBWH=-K01B$(=PNIG!Z<O8KC$\>U4:%M5%AB=M] G?*3:X,$_!6JR)OP;6,
M19$X_;02*VFY+# AI:B9,[%%TNC73:IIDY#]AOUR0W=X-E&G%PS]30/+\YKE
M^5&6==FF]*\;RZE$V((YZABEI4/F2GMY7W#[0 (L:HHQ<+F+J4AK3)I([O=[
M=4 R:'>:279KDMVC)&=<\JS(ZI(W;7L4P76J"Y.S&$<>M2*#>H->]/Q9IQ^\
M/E+J7LVO=Y3?;W:1C73ZJ;9SK6+$Q,"55MFAPX<'IDE,K\'#H-ML8K\FV3]N
M(MO]T<2C"/]HXJ#F-_B_)@[^XD?T#QJANU-F3*^Y-"!P15E!>T"5T/L^O9]8
ME9>]<:DL==IRF-+5AMH%T/I*47^L)J[=UI=E] -02P,$%     @ <X0#5U8@
M<]JS @  @0@  !D   !X;"]W;W)K<VAE971S+W-H965T-#(N>&ULK59K;],P
M%/TK5IC0D,;R7 <EC;0VK0 Q-.T!G]WDMK'FV,%VVHU?C^UDH6NS4FE\B1^Y
MYQS[7.<Z\9J+>UD */104B9'3J%4-71=F1508GG**V#ZS8*+$BL]%$M75@)P
M;D$E=0//&[@E)LQ)8CMW)9*8UXH2!E<"R;HLL7@< ^7KD>,[3Q/79%DH,^$F
M<867< /JKKH2>N1V+#DI@4G"&1*P&#D7_G 6F7@;\(/ 6F[TD=G)G/-[,_B2
MCQS/+ @H9,HP8-VL8 *4&B*]C%\MI]-)&N!F_XE]9O>N]S+'$B:<_B2Y*D;.
M!P?EL, U5==\_1G:_9P9OHQ3:9]HW<2>!P[*:JEXV8+U"DK"FA8_M#YL #1/
M/R!H <$V('H!$+: \%"%J 5$ARJ<M8"S0P&#%C"PWC=F6:=3K' 2"[Y&PD1K
M-M.QZ;)H;3!AYF#=**'?$HU3R7>N (7H/;J&%; :=)OQ)2,V[<<I*$RH1+?P
MH&I,W^FXNYL4'1^]0T>(,'1;\%IBELO857HQAM+-6N%Q(QR\(!RB2\Y4(=&4
MY9#WX-/]^,$>O*M-Z)P(GIP8!WL)O];L%(7>"0J\(.Q9S^1P>-"WG=>I3U^G
M/ML/3R'3<+\/_LS+L#M5H>6+7N";Z-0(733T858%FMAC#.($?2-X3BA1CWWG
MI:$<6$I3#U>)[Y][7NRN-K.P5]B4X:&L< 8C1]=9"6(%3O+VC3_P/O7EY"#)
MZ?^4G.U*AMZ&XC.[H\[NZ'5VGVQ_WK][/[EQM+.XCSL)V(W9BDAW(_Q@Q]1_
MTLSV[OEPVQM'W8T2J;U9VLM,HHS73#7GNIOM[LL+>TULS8_]X<3OF4_]X;2Y
M#O_2-Y?S)19+PB2BL-!2WNFY+OFBN?":@>*5+=!SKG3B;+?0_P@@3(!^O^"Z
M2+<#(]#]=21_ %!+ P04    " !SA -7'%D5JZ4$  !+&   &0   'AL+W=O
M<FMS:&5E=',O<VAE970T,RYX;6RM65USHS84_2L:NM/9G=D&)+Y,:GLF,>QL
M.Y/6DWBW#YT^$)!MNH"\0HXW_[X"$S!"R$Y#'F*0SSW2D>Y!%WEZ(/1;L<68
M@1]9FA<S;<O8[EK7BVB+L["X(CN<\V_6A&8AX[=THQ<[BL.X"LI2'1F&HV=A
MDFOS:=6VI/,IV;,TR?&2@F*?92%]OL4I.<PTJ+TTW">;+2L;]/ET%V[P V9?
M=DO*[_2&)4XRG!<)R0'%ZYEV Z\#Z)4!%>)K@@_%R34HI3P2\JV\^2V>:48Y
M(ISBB)44(?]XP@N<IB43'\?WFE1K^BP#3Z]?V#]5XKF8Q[# "Y+^E<1L.],F
M&HCQ.MRG[)X</N-:D%WR120MJO_@4&,-#43[@I&L#N8CR)+\^!G^J"?B)(#S
MR -0'8#$ &L@P*P#S$M[L.H Z](>[#J@DJX?M5<3YX<LG$\I.0!:HCE;>5'-
M?A7-YRO)RT1Y8)1_F_ X-O^#, Q,\ NXQT\XWV/^&9%-GE2KV+8^/H.[\%]"
MP9*2>!\QL @9WA#Z#-[[F(5)6GS@Z"\//GC_[@-X!Y(<K+9D7X1Y7$QUQ@=:
M=J=']:!NCX-" X,RP1W)V;8 01[C6!+OJ^,=1;S.)ZB9)?0R2[=(2?C[/K\"
MIO$1( .9DO$L+@]',CEOZSWXW[UW)L-L4L:L^*P!OCHG/H(<,]G:'J.=*KI\
M3CW-+>A >ZH_G<Y8'V4CY'E=E-]'>99C"5Q!'P4-R[:,!M;1:34Z+:7.):81
MSAD@ZQ<;R-0>.;S3O@6E9Q'^642@0G3$V8TX6REN<;/Z"OZ^P]DCIO_(="G#
MR^WKNMB%$9YI?'\J,'W"VOSGGZ!C_"JSQYAD_IADP4ADG35PFC5PWF0DIY_\
MIF4*V=4'(=.% LKOHS@(":B@C[(FCF?),\UM5+HCV.C( 8V3OHTKA,2GAA1F
MV:)<*<STD*!7SN8X<L&31O!$*;C<A\&"2\94Z3 ERVL=-B:9/R99,!)99RF\
M9BF\-SG,ZYO'M5WQ 2Y!0<MSA9SKHRS70Y:0<A(4\N# PQP:;15GC&"RFD1(
M>,<1?+&0XRPH[EMRG&TX@N@:YPET Z)/2E>H%+TJ7S=(IC29FN*U+AN5S1^5
M+1B+K;L8J%T,]":KU>'=S#=%JTE0#G(=,>_Z*-<S)V+6]5$0VH-IUY:_4%W_
M7N@U4^8-:/2\9DJ\ 9&H6,IF3"SC]$^L&N7<0Q/0UL5071A_6JT^JTVGC'^U
MZ<9D\T=E"\9BZZY$6\1#=15_UG1V_RU++*DD&"3N;3(>5TRV/@:B@=H1MB4R
M5-?(%YK-D=I#-,3B0IQ_(2XXC^O*;FMF>*9HKH]9PCP&#SQMDH@O\I]L>Z:D
M5+.^VGACLOFCL@5CL777IRWQH;K&/VN\B>00I.>\/LB=]/:Z/HBK$-_<9"CD
M#AR P+9\ANKZ^4+W>9)MIN\]3^H5<5;\(5SO>3. ,P71^LGA:(;IICJ5+D!$
M]CD['GHUK<W)]TUUWBNTW\+K!92T^^5)>748V](?C]GO0KI)\@*D>,V[,JY<
M_HBDQY/KXPTCN^IH]I$P1K+J<HO#&-,2P+]?$\)>;LH.FM\/YO\!4$L#!!0
M   ( '.$ U<AVJ'0P (  *L(   9    >&PO=V]R:W-H965T<R]S:&5E=#0T
M+GAM;*U6;6^;,!#^*Q:KIE;J"H&0MEF"U(;L3>M4->WV8=H')UR"5; SVR39
MO]_94)87&D5KOX!?GN<YWW&^H[<4\E&E )JL\HRKOI-J/>^ZKIJDD%-U)N;
M<6<J9$XU3N7,57,)-+&D/'-]S^NX.67<B7IV[59&/5'HC'&XE405>4[EGVO(
MQ++OM)RGA3LV2[59<*/>G,Y@!/IA?BMQYM8J"<N!*R8XD3#M.U>M[C T> OX
MSF"IUL;$>#(6XM%,/B=]QS,'@@PFVBA0?"U@ %EFA/ 8ORM-IS9IB.OC)_4/
MUG?T94P5#$3V@R4Z[3L7#DE@2HM,WXGE)ZC\L0><B$S9)UF6V/#2(9-":9%7
M9#Q!SGCYIJLJ#FL$U&DF^!7!WR:TGR$$%2$XU$*[(K0/M1!6!.NZ6_IN Q=3
M3:.>%$LB#1K5S,!&W[(Q7HR;/!EIB;L,>3KZ)C20-GE'O@*&6Y'C&#1EF2+W
ML-(%S4YPZV$4D^.C$W)$&"?WJ2@4Y8GJN1KM&Q5W4MFZ+FWYS]@*R(W@.E5D
MR!-(&OCQ?GYG#]]%OVOG_2?GK_V]@E\*?D8"[Y3XGA\TG&=P.-UO<N=EUH?_
M;7TC&$&="8'5:S^C9Q/@E R$TDV?MB1W+-D4GT7D7Z+9Q7JX=C%!ZV(3$^]B
MPHOS3<QP%],)PAJSX5V[]JZ]U[L1EB+&9Z?D(W"0-".8PN0JP1O%E);45"LR
M7&'U-9?@YPWD8Y"_FN*PUXRIZETUIQ/H.UBV%<@%.-';-ZV.][XIOUY3+'Y-
ML>$KB6U\J[#^5N%+,C'<S3+/V\K$ S#Q+J:SC1GNQY3>N6O5-P<YLVU/D8DH
MN"ZO7[U:=]8KVU"VUJ];W4&K83W&3EPVSG_R91N_H7+&N"(93-&4=W:.YY5E
M:RPG6LQM[1\+C9W$#E/\FP!I +@_%5C_JXDQ4/^?1'\!4$L#!!0    ( '.$
M U>X*#&"& 0  %<2   9    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;*U8
M86^K-A3]*Q9[FEII*Q@"2;HD4AMX>IOVMJKMV],^NL$)Z(&=V4[2_OO9AI)@
M"*%MOB1@SCV^YUQC;$]VE/W@"<8"/.<9X5,K$6)];=M\D> <\2NZQD0^65*6
M(R%OV<KF:X91K(/RS'8=)[!SE!)K-M%M=VPVH1N1I03?,< W>8[8RRW.Z&YJ
M0>NUX3Y=)4(UV+/)&JWP Q;?UG=,WMD52YSFF/"4$L#P<FK=P.L(>BI (_Y)
M\8X?7 ,EY8G2'^KF]WAJ.2HCG.&%4!1(_FWQ'&>98I)Y_%>26E6?*O#P^I7]
MLQ8OQ3PACN<T^Y[&(IE:(PO$>(DVF;BGNR^X%.0KO@7-N/X%NQ+K6&"QX8+F
M9;#,($])\8^>2R,. ES_2(!;!KAFP.!(@%<&>'U[&)0!@[X]^&6 EFX7VK5Q
M(1)H-F%T!YA"2S9UH=W7T=*OE*B!\B"8?)K*.#'[BPH,!N!7\">6=G-Y,:?Y
MFA),! =T632#Z%D.3/E_$6*!THQ?2MRWAQ!<?+H$GT!*P&-"-QR1F$]L(;-2
MW/:BS."VR, ]DH$'OE(B$@XB$N.X)3[LC@\ZXFWI1F6)^VK)K=M)^,>&7 '/
M^06XCNNUY#/O'^ZVR?E8[]&[>Z^9X57CP]-\@R-\?Z\Q0R(E*Y#ID8"+D=!6
MYH(HT$1J?MK.W!&<V-M#ZUHP8Z^."9L8/_#KF*@%,QY5F)K20:5TT*GT<TH0
M6?126A#Y![V/#)TG$6$3 0-#9">DIM&O-/J=&A\2R@1XQ"P_+=)O]&X4:MY$
MP*&AL@DQ1381+FP7&50B@TZ1CU2@[+2^H&4HNH;")L:#9B&;&']DV! U,8'G
MMZL<5BJ'G2J_ZT\@CL'-5KZA*PSNL5H7J/%;S-FZRA?_8L3T=$WK+S(O'EVV
M.=/=L0]>%"<8@KR8=]T!B-%+V\P_[V8*2J;1*Q-41&U3YMDRBCZ>4:U:HZI:
MH[-6:UF?C+JJU=VQ5WDR/EJE;@:H/0$]B,(/IQ*=(95:?<95?<9OJT^8\@7=
M$ 'ND5P@-5^?MDH474#GX#5WKAS/G%2.P0Q<V(\N.DU7<P0Z^Y6A\S%/S$':
MNO8K^AC7LS,^Y_->J+ 7*CJ%JKMQL$Z&/1=""\03L)0[+ Z6C.:]AD8WN=H-
M7O,U6N"I);=['+,MMF8__P0#Y[>V%_:L;&')5O_*0=/5)B@X.L3<O:GN.TTU
MQE:KIYW<;_;TG&QAR59;&YF.-B''_-POUF'W:GV_AGV/GYW<;_;SG&PA;"[X
MH6,:VL2,#4/M@XURCME*GU!PH&>U8D]4M5:G(#=Z[V^TW\+K.6QI#]6IB=Z8
M[^F+(Y>OB*U2PJ7]2]F5<S64A6?%*49Q(^A:;].?J)";?GV98!1CI@#R^9+*
MK7IYHSJHSI)F_P-02P,$%     @ <X0#5P.5^DHL P  $ P  !D   !X;"]W
M;W)K<VAE971S+W-H965T-#8N>&ULC5==;YLP%/TK%NI#*[4%DT"@2B*MK:9M
M:J>H']NSDYA@%3"S3=+^^UT#A31\O@3;<.\YY]HZOID?N'B3(:4*O<=1(A=&
MJ%1Z8YIR$]*8R&N>T@3>!%S$1,%4[$R9"DJV>5 <F;9EN69,6&(LY_G:2BSG
M/%,12^A*()G%,1$?MS3BAX6!C<^%)[8+E5XPE_.4[.@S5:_I2L#,K+)L64P3
MR7B"! T6QC=\<XM]'9!_\8?1@SP:(RUES?F;GOS<+@Q+,Z(1W2B=@L!C3^]H
M%.E,P.-?F=2H,'7@\?@S^_=</(A9$TGO>/27;56X,#P#;6E LD@]\<,/6@IR
M=+X-CV3^BP[%MS/'0)M,*AZ7P< @9DGQ).]E(8X";+LCP"X#[)QW 92SO">*
M+.>"'Y#07T,V/<BEYM% CB5Z5YZ5@+<,XM3R-U<43=$5>J"@3<+@D:A,,,5@
MPH-B&3TPLF91L7A^3Q5AD;Q 9X@EZ"7DF23)5LY-!7QT5G-38M\6V'8']J\L
MN483ZQ+9ECU!K\_WZ/SLXFL:$^14FNQ*DYWGG7;DA7332P0'5Q#%DET;L2*!
MFR?0!W>_Q! T-_<ML),*=C("-F )23:T#;0(=XY G0[(:04Y'8)T!I1.&Z#8
MGKKML$X%ZXR [5'J-$"M=D2W0G2'$-T!H6Z+4.RWP\XJV-D(V!ZAL[%"O0K1
M&T*<#0CUFD(MIV-'_0K6'P';(]0?*Q1;M?-80YC>@-0RPU>M,Z\#^<CS\ CD
M'K5E_!BYM2GA05?R$1@E4B&%^S-05 RIMUN.M(L[B-0VA0=]JDFDKQA-W^HJ
M1NU;N-^X7K@B4:T>1?DUDY(/N/!5^U72-#+7\SK\$]=.AONMK"!2J&\2J>I2
MK+<3:YI=EZWCVNYPO]\]4"D1B]-,T2W<LK!%5*K+TX+)H0/4],0KU^LZ0+4I
MXGY7["!W4L3V8C4-\ZJ+3VV9N-\S5X /NX7V),IHLTBM/)HFZMK6I(-)[:*X
MWT9/F(RJB-]H19Q3'N91?Z=[Y4<B=BR1D#6 (.M:-Y>B:#^+B>)IWO*MN8(&
M,A^&T+)3H3^ ]P&'MJ^<Z"ZR^A.P_ ]02P,$%     @ <X0#5\PLE$OE @
M50D  !D   !X;"]W;W)K<VAE971S+W-H965T-#<N>&ULM59K;YLP%/TK%JNF
M5NH*@;S:)4AMLJZ=U*KJ:Q^F?7#(3; *-K5-TO[[71N*\B!HE=HO8,,]AW/N
M 9O!4L@G%0-H\I(F7 V=6.OLQ'55%$-*U9'(@..=F9 IU3B5<U=E$NC4@M+$
M]3VOZZ:4<2<<V&LW,AR(7">,PXTD*D]3*E_/(!'+H=-RWB[<LGFLS04W'&1T
M#G>@'[(;B3.W8IFR%+AB@A,)LZ%SVCH9]4V]+7ADL%0K8V*<3(1X,I/+Z=#Q
MC"!((-*&@>)I 2-($D.$,IY+3J=ZI &NCM_8SZUW]#*A"D8B^<VF.AXZ?8=,
M84;S1-^*Y064?CJ&+Q*)LD>R+&L]AT2YTB(MP:@@9;PXTY>R#RN 5GL'P"\!
M_O\"@A(06*.%,FMK3#4-!U(LB335R&8&MC<6C6X8-RG>:8EW&>)T>"TTD [Y
M1D94Q8?V2'X\YVQ!$^!:$<JGY!:4EBS2,"WN[X]!4Y8H<@\O.J?) <(?[L9D
M?^^ [!'&R7TL<H5(-7 U:C1/<J-2SUFAQ]^AYU?.CTC@'1+?\X,:^*@9/H8(
MX2T+]]?A+G:F:H]?M<>W?.T=?)O633LV>X1=RZ7$49W;@KYKZ<T7M0A[7M >
MN(M53]M%+>_8\ZNJ->E!)3UHE#ZZN+P^K9/4"#.KQHG*: 1#!Y<%!7(!3OCU
M2ZOK?:^+XX/(UARV*X?M9H<@-9NQB&I01,S(&#*AF#XD5&-(4KXR/B>/-,FA
MK@T%=V>UZ<>>MY%,35%KI6A-=J>2W6F4?4;Y$TA%3J,(,DUY!.3/%:03D'_K
M=#:2O3>N#R);\]VM?'<_]UOJ;H41;">V7=3O[4JL5RGO-2K_F5-)N09X>\44
MP?T3I9KE69%QKAF^@4TA-O*_-\0/(EMK1;]J1?]S0^S7+(B;&6[7X$>WF:&[
MLNF9'XXK*N>,*Y+ #&'>40_? 5ELXL5$B\SN@Q.A,38[C/&_!Z0IP/LS@7MA
M.3%;:_4G%?X#4$L#!!0    ( '.$ U?V3-T 8P(  .0%   9    >&PO=V]R
M:W-H965T<R]S:&5E=#0X+GAM;)54[T_;,!#]5ZR(#R !^=UV*(TTVDW;I$V(
MPO;9))?&PK&+?6G9?S_;"5EH"]J^)#[[WLM[Y]QE.ZD>=0V Y+GA0L^]&G%S
MY?NZJ*&A^E)N0)B32JJ&H@G5VM<;!;1TH(;[41!,_(8RX>69V[M1>29;Y$S
MC2*Z;1JJ?E\#E[NY%WHO&[=L7:/=\/-L0]>P KS?W"@3^0-+R1H0FDE!%%1S
M[V-XM4ALODOXR6"G1VMBG3Q(^6B#K^7<"ZP@X%"@9:#FM84%<&Z)C(RGGM,;
M/FF!X_4+^V?GW7AYH!H6DO]B)=9S;^:1$BK:<KR5NR_0^TDM7R&Y=D^RZW,#
MCQ2M1MGT8*.@8:)[T^>^#B- F+P!B'I ]*^ N ?$SFBGS-E:4J1YIN2.*)MM
MV.S"U<:AC1LF["VN4)E39G"8_Y ()"479$%U?>Z>Y--3R[:4@T!-J"C)+6A4
MK$ HN_,+LNKNG,CJ?W"G2T#*N#XS#/>K)3D].2,GA ER5\M6&X3.?#2>K#*_
MZ/5?=_JC-_1_:\4EB8-S$@51? 2^>!^^A,+ 0P>/7L-]4\FAG-%0SLCQ)6_P
M.9_6>V$7\+<@QYQU5!-'9;MMFT=A.IUE_G9LX$A6,IFE0]8KG?&@,WY7Y^AJ
MK-)CZCJ"=/3=:1 G>^(.D\+@0Q =%Y<,XI)WQ=U)I-SI.C^HHRNN>JV>Z%KN
MA/V1L :BD2*8.8/V[W3'E1E51R\@.2SM;!)&>QX/L^(TG4WW//JC'K3S[SM5
M:R8TX5 97' Y-452W4SI I0;UY8/$DV3NV5MQC HFV#.*VE:LP]LIP^#/?\#
M4$L#!!0    ( '.$ U?>,:Y<'P,  &L*   9    >&PO=V]R:W-H965T<R]S
M:&5E=#0Y+GAM;*56:V_:,!3]*U;4#U1JR3NA%2"5Q[1.:X7*NGUV$T.L.C:S
MG=+]^]E.R&AD6+1] 3_..=?GYL:YXSWCKZ) 2(+WDE Q<0HI=[>N*[("E5 ,
MV0Y1M;-AO(123?G6%3N.8&Y()7$#STO<$F+J3,=F;<6G8U9)@BE:<2"JLH3\
MUPP1MI\XOG-8>,+;0NH%=SK>P2U:(_F\6W$U<UN5')>("LPHX&@S<>[\VV6J
M\0;P':.].!H#[>2%L5<]N<\GCJ</A C*I%: ZN\-S1$A6D@=XV>CZ;0A-?%X
M?%#_9+PK+R]0H#DC/W NBXDS<D".-K B\HGM/Z/&3ZSU,D:$^07[!NLY(*N$
M9&5#5B<H,:W_X7N3AR."TK$3@H80= G1"4+8$,*^$:*&$/6-$#<$8]VMO9O$
M+:"$TS%G>\ U6JGI@<F^8:M\8:KK9"VYVL6*)Z>/3"*0@&NPA)QBNA5@\)4)
M<0E6B(-U 3E2>W-6[BH)S9-E&S"# F< TAPL,*DDRL&C*NA[FK$2'>B[ECY8
M( DQ46O7X'F] (.+2W !7"#TK@"8@F>*I;A2BVK\K6"54-)B[$IE3Q_2S1HK
ML]I*<,)*"!X8E84 2YJCW,)?G.<G9_BN2FN;V^"0VUEP5O!+18<@]*Y X 6A
MY3SS_O3 9N?_HB__.?J'9(1MH85&+SI5:*I$B"H-VW.MF8EAZHOM;7KM)S=1
M-';?CM-E@T51G'R$+2RP, S"]"-L:8-YL3]J81]L1JW-Z*S-^MT8J$JNZ_O2
MYK>6B(]"!S?1:!0G?L>Q!9@F?A#Z<<>S3=$?^3=^V'%M4XS#U(M.^(Y;W_%9
MWX>;X"_.X[[.+4"[<YNBU;E-\9SSI'6>]'SB.2,$<F'N/I,#:PIJM=%QW7G#
MN%.=<SLJZ)BWH/RAWWEOEG:4;[>=MK;3W@^\G_&TEW$[JFO<@K(8MZ.ZQMVC
MKV>)^-:T+0)DK**ROM_:U;8SNC,-06=]YM_.?<OZ0G52=>/S1[YNPQX@WV(J
M $$;%<H;IJH\>=W:U!/)=N;;_<*DZ@3,L%#=(.(:H/8W3'V_FXD.T/:7T]]0
M2P,$%     @ <X0#5VX%3#^' P  LPX  !D   !X;"]W;W)K<VAE971S+W-H
M965T-3 N>&ULM5=M;Z,X$/XK%B>==J5M(23DI9M$:@*GW=5V-VJVMQ].]\&!
M2;!J;,XV2?OOUP;")2FEZ1W] K:9YQG/S".;&>^XN)<Q@$(/"65R8L5*I5>V
M+<,8$BPO>0I,?UESD6"EIV)CRU0 CG)00FW7<?IV@@FSIN-\;2&F8YXI2A@L
M!))9DF#Q. /*=Q.K8^T7;LDF5F;!GHY3O($EJ+MT(?3,KE@BD@"3A#,D8#VQ
MKCM7P<C8YP9_$MC)@S$RD:PXOS>3S]'$<LR&@$*H# /6KRW,@5)#I+?Q3\EI
M52X-\'"\9_\CCUW'LL(2YIS^))&*)];00A&L<4;5+=]]@C(>S_"%G,K\B7:E
MK6.A,).*)R58[R AK'CCAS(/!P#-4P]P2X!["N@] ^B6@.ZY'GHEH'>N!Z\$
MY*';1>QYXGRL\'0L^ X)8ZW9S"#/?H[6^2+,Z&2IA/Y*-$Y-OW$%J(\N4( %
M(VPCT;NO7,KW: $"+6,L0'];:".F"*;T$?F$9J:V: EA)H@B(%'P$-(L@@BM
M!4\*"SWYIE7^F84\@3UG6G&^\T%A0O7:!9)F1>Y?A*$?,<\D9I$<VTJ':#9J
MAV4XLR(<]YEPNNB&,Q7K+3&]GQJ\WXSO-^!MG=HJO^X^OS.WD?!+QBY1U_F
M7,?MUNQG?C[<K0OG_WD/_K/WHV1T*[%U<[[>,WP_N,(482VE:*\B6<A!5[VH
M__NZFA>L7LYJ#K[MU'.&WMC>'B;RJ5'/&PZ.C?PZIKYS;!2\P'04>J\*O=<8
M>B[[BYD^TB*TP(_ZI%7H6@C,-F#&']#W-#\X_[J!9 7B[[HT-'HP%\J53'$(
M$TO?&!+$%JSI[[]U^L['.MVU2>:W21:T1'94)J\JD_<F"O6>2.9$5/-&OZ_-
M]XON@B:+H\STJ\ST&S-S"U()$IJ#?:EX>(_N&%'ZMKA=WNE3O$FVC;ROE6V;
M9'Z;9$%+9$?%&53%&;R); =/3[K1\$2XC9Y?F_$:AX/NB72?VCPCW6&5G6%C
M=N:<;4$HLJ* ?%BIPU^7)N$VLKY6N&V2^6V2!2V1'95F5)5F]";"'9UQV<_/
M,?+/,0I>,"I"MP_^PA,0F[S]D2CD&5/%/U*U6G58UWEC<;(^ZUS-.S7KON[(
MB@;J7_JBG;O!8D.81!36VI5S.=!;%46+5$P43_,>8,65[BCR8:R[2A#&0']?
M<_V+7TZ,@ZI/G?X"4$L#!!0    ( '.$ U>OYJY$B (  "\'   9    >&PO
M=V]R:W-H965T<R]S:&5E=#4Q+GAM;*556T_;,!3^*T<1#R !29/0,I1&HA<T
MIK%57,:S:4X;B\3N;*>!?S_;2;-"TJK:7EI?OHN_$^LX*KEXE2FB@K<\8W+H
MI$JMKEQ7SE/,B3SG*V1Z9\%%3I2>BJ4K5P))8DEYYOJ>UW=S0ID31W9M)N*(
M%RJC#&<"9)'G1+R/,./ET.DYFX5[NDR567#C:$66^(#J:343>N8V*@G-D4G*
M&0A<#)WKWM4T-'@+^$6QE%MC,$E>.'\UD]MDZ'CF0)CA7!D%HO_6.,8L,T+Z
M&+]K3:>Q-,3M\4;]QF;765Z(Q#'/GFFBTJ%SZ4"""U)DZIZ77['.<V'TYCR3
M]A?*"ML/'9@74O&\)NL3Y)15_^2MKL,60>MT$_R:X'\F['((:D)PJ$-8$\)#
M'2YJ@HWN5MEMX29$D3@2O 1AT%K-#&SU+5O7BS)S3QZ4T+M4\U3\@RN$ 9S!
M+5LC4UQ0E' \045H)N$1WU1!LA.]__0P@>.C$S@"RN QY84D+)&1J_0AC)0[
MKPU'E:&_PS" .\Y4*F'*$DPZ^)/]_/X>OJO#-Q7P-Q48^7L%OQ7L' +O%'S/
M#SK.,SZ<[G?%^3_WZ3^[?RA&T%R'P.J%._0VM^#]%+[?WOR$>Y0HUG@*,Q24
M)S!.B5ABUU>O=/M6US2G=>R'GA>YZ^U2MD$MS*2-N?#\RX^@::=;T( ^9 ^;
M[.%AV>%94(5G"2]95]*PY1WT6DG;H-YE*VH;U/_R&31M@_S!%JB*ZFYU@!SU
M)S*M5\*<%TQ57[]9;;K[M6UJG]9'O:MQKV-]HE^#JGG_E:^>DCM](RB3D.%"
M6WGG ]V@1-6>JXGB*]M_7KC2W<P.4_VBH3  O;_@N@?5$V/0O)'Q'U!+ P04
M    " !SA -7K=RD;F("  #[!0  &0   'AL+W=O<FMS:&5E=',O<VAE970U
M,BYX;6R-E&UOFS 0Q[^*A?JBE=8"!D)2$:0U4;5.VE3U87WMP"58-3:SG=!^
M^]F&HC2AT=Z S[[_^7=GG[-6R%=5 6CT5C.NYEZE=7/M^ZJHH";J2C3 S<I:
MR)IH8\J-KQH)I'2BFODX""9^32CW\LS-W<L\$UO-*(=[B=2VKHE\OP$FVKD7
M>A\3#W13:3OAYUE#-O (^KFYE\;RAR@EK8$K*CB2L)Y[W\/K16+]G<,?"JW:
M&R.;R4J(5VO<E7,OL$# H- V C&_'2R ,1O(8/SM8WK#EE:X/_Z(?NMR-[FL
MB(*%8"^TU-7<FWJHA#79,OT@VA_0Y^, "\&4^Z*V\TT##Q5;I47=BPU!37GW
M)V]]'?8$8?R% /<"_+^"J!=$+M&.S*6U))KDF10MDM;;1+,#5QNG-ME0;D_Q
M44NS2HU.Y[^%!I2B2W3'=\"UD!34@76^!$TH4Q=F_OEQB<[/+M 9HAP]56*K
M""]5YFN#8@/Z1;_M3;<M_F+;GUM^A:+@&\(!CD;DB]/R)11&'CHY_BSW30&&
M*N"A"MC%B[^(]T!:4U0-DA(VFDTGGSBY;8Q=CI-P%F?^;A]ZS"N-\.#UB2T:
MV**3;"^F#6RU&RD*4 J9@IN>6UT2I:!>,7-"8\!=S&0/)<)XFAX CWC-DDDT
M#AP/P/%)X%O*J;F0)=H(,7XWXJ-MI],X.& [=@KC:!J/LR4#6W*2[4EHPDPU
MA]L]AI<<'>-D$N'P@._8*YU-TMD!G[_7FO99_$7DAG*%&*R-+KA*31C9/36=
MH47CNG4EM.E]-ZS,ZPS2.ICUM3 =VQOV 1C>^_P?4$L#!!0    ( '.$ U>5
M%9ZRW (  /8(   9    >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;*U6;6^;
M,!#^*Q:KIE;J"B$AK;($*0F9EDF=HKYLGUVX!*M@4]LD[7[]SH:R-*%1M_4+
M^.Q[GKM[,#X/-T+>JQ1 D\<\XVKDI%H7 ]=5<0HY56>B (XK2R%SJM&4*U<5
M$FAB07GF^I[7=W/*N!,.[=Q"AD-1ZHQQ6$BBRCRG\FD"F=B,G([S/''%5JDV
M$VXX+.@*KD'?%@N)EMNP)"P'KIC@1,)RY(P[@UE@_*W##P8;M34FII([(>Z-
M,4]&CF<2@@QB;1@HOM8PA2PS1)C&0\WI-"$-<'O\S/[%UHZUW%$%4Y']9(E.
M1\Z%0Q)8TC+35V+S%>IZ;(*QR)1]DDWMZSDD+I46>0W&#'+&JS=]K'78 B!/
M.\"O ?XNH/<*H%L#NF^-T*L!O;=&"&J +=VM:K?"1533<"C%ADCCC6QF8-6W
M:-2+<;-/KK7$588X'7X7&L@%^406$O>>U$^G9)%1K@GE"9D]E*S 3:')<02:
MLDR1&WC4)<U.$'%['9'CHQ-R1!@G-ZDH%6+4T-68EB%WXSJ%296"_TH*77(I
MN$X5F?$$DA9\=!C?/X!W48Y&$_]9DXE_D/!;R<](USLEON=W6_*9OAWNMY7S
M?]%G_QS]A1C=9H-T+5_O%;X(\/R)&36_==NWK=!]BS:'TCH,/,\;NNMMP5J<
MSG>=HGVGCN?O>LU:O#K;7"^*[#5%]@X6.><:)"A-%I0EIV1*"Z9IQGX!&G.^
MQA7&5V1L#C6F&;1N\BI"L)78K@J]O=3WRHL.YFF:QD 5-(:1@U]%@5R#$W[\
MT.E[G]MVRCN1O9 T:"0-#DHZ5@J[W#PO*)/V")FF5*[:I0OVA-F5[F"LOY0E
M>D^RV3N151J[6P=Y#BB7Z:"*Q*+DNOIEF]FF28]M;]J9GW0&TT[+?(1-O>K!
M?^BK&\$E?AW&%<E@B:&\LW,L3%9=MC*T*&P;N1,:FY(=IG@Q 6D<<'TIL)74
MA@G07'7"WU!+ P04    " !SA -7P8C XCP$   I%   &0   'AL+W=O<FMS
M:&5E=',O<VAE970U-"YX;6RU6%UOVS84_2N$5@PMD$:BOIW9!A9GP3HTA=&L
MW<.P!UJF;:*2J)*4G>S7CY1LR?IBZMEY243IWN-S[]&E#CC>4?:-;S 6X"F)
M4SXQ-D)D-Z;)HPU.$+^F&4[EDQ5E"1)RR=8FSQA&RR(IB4W;LGPS020UIN/B
MWIQ-QS07,4GQG &>)PEBS[<XIKN) 8W#C<]DO1'JACD=9VB-'['XDLV97)D5
MRI(D..6$IH#AU<3X%=[,["*AB/A*\(X?70-5RH+2;VKQ83DQ+,4(QS@2"@+)
M?UL\PW&LD"2/[WM0H_I-E7A\?4"_+XJ7Q2P0QS,:_T668C,Q0@,L\0KEL?A,
M=[_C?4&>PHMHS(N_8+>/M0P0Y5S09)\L&20D+?^CIWTCCA*@.Y!@[Q/L'TUP
M]@E.46C)K"CK#@DT'3.Z TQ%2S1U4?2FR);5D%3)^"B8?$IDGIA^H@*#$+P'
M<R9?#2:>K\ \1JD *%V"W[[G)).:B1>?O[W# I&8OY.17Q[OP-LW[\ ;0%+P
MYX;F7,;RL2DD7?6C9K2G=EM2LP>H_9&GU\"QKH!MV4Y/^DR??H<CF0Z+=+N9
M;LHF59VRJT[9!9X[@%<W(*L:@ \-N )K1GEOD26J7Z"JH=I.'<\:A>[8W!X7
MTQ?F0S^LPAJDG8JTHR7]$7,N1R7*DSQ& B_E&RZG/2*HG"%9 DHH$^3?XD8?
M_1+?.^+U'H:.&XQ:_/OB@L"#H_X"W*H ]YRNIW*C6V"YFV$0T90+EI>[@WSS
M,D;7K"A?ILC<95]U;H<U] //\EK%]80%H>\.U.95M7EGUM9'V>MR&05A1X]N
MF TM>/3:-2C[%65?_SXICA\2V=LM5BPY^/L!)PO,_NFCJL52'Z@;GJ$(3PSY
M3G+,MMB8_OP3]*U?^J;]0F"-LH.J[.!59C_HB!!:?DLH?4R#;EC1#;5T;W,2
M+TFZ+GA6BQ^630M^JFP7 FOT853U8?0JLHVZDGB.:[>$ZXGRG<#NEPY:]0?9
MTI)^0-%&WF+/K4^L3C$]Y*F270JMV8 C1P)?1;4];&/+<P.[HUM?G =M.#!T
ML#8(4.\0[G.6$I'+;Y&B?$^>U+5^U/2()PMW(;1F_;77@'JS\;^%ZWH'.6[M
M?;(W*AP:M]I?0+W!F-$DRP5F1Y.F>#_2E=@A*:56/2WTR>I="*W9B-J,P+/<
MR+!Z/88$>F'0EJ\O+(#.@'ZU(8%Z1_(5;T@4OS1F%W4BET)K5EQ[$?@Z9@1V
MG8;OP[9,/4'!@,^%M1^!>D,R:WGS^<&;:T6[J ^Y%%JS [43@6=9D0&O#[L>
MPQ[9@=,6K1OF6*XSX/7MVHK8>BM2N'V=1/K\4R6Z%%JSVMIWV&?YC@&)]J!^
M8U^SVF/U4E1)V3PZQU&': ^(K4G*08Q7,LVZ#J3"K#R7*A>"9L71SH(*09/B
M<H/1$C,5()^O*!6'A3HMJDX'I_\!4$L#!!0    ( '.$ U?B?9<7L@(  /T'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;*U5;6_:,!#^*Z>LFEJI
M)2&A=&,0B;=JG=8*M>NF?33)$:PZ-K,-M/OULYTT@RXPM/5+XI=[GKM[<KGK
MKH5\4'-$#8\YXZKGS;5>='Q?)7/,B6J(!7)S,Q,R)]IL9>:KA422.E#._# (
MVGY.*/?BKCN;R+@KEII1CA,):IGG1#X-D(EUSVMZSP>W-)MK>^#'W07)\ [U
M_6(BS<ZO6%*:(U=4<) XZWG]9F?<LO;.X"O%M=I8@\UD*L2#W5RE/2^P 2'#
M1%L&8EXK'")CELB$\:/D]"J7%KBY?F:_=+F;7*9$X5"P;S35\Y[WSH,49V3)
M]*U8?\0RGW/+EPBFW!/6A>U%RX-DJ;3(2[")(*>\>)/'4H<-0+@+$): \ 6@
MN0L0E8#H4 ^M$M ZU,-Y"7"I^T7N3K@1T23N2K$&::T-FUTX]1W:Z$6YK9,[
M+<TM-3@=WPB-\![.X(IKPC,Z90A]I5"K4[@Q97H\0DTH4_ %'_62L!-C>G\W
M@N.C$S@"RN&:,F:^N.KZVH1C2?VD=#TH7(<[7$=P+;B>*QCS%-,:_&@_OKT'
M[QL9*BW"9RT&X5["3TO>@"@XA3 (HYIXAH?#P[IT_L_[^)^];XD15841.;[6
M#KY^+J2F/XG[G<7LS_JH^^ %9;,H-MNB5G'0,-&L-E4\Q&A4:Q1M&XW_8K25
M=ZO*N[4W[TO*J<:SSZ9]I74_Q2W:[DMY!EL*35!2D<+Q=R3RI$Z:_5[/X<D
M%5Q 7M1T&U+R5*?Q<"^1'2L=M2 )]CPS-Q3*%7KQVS?-=O"AKB1?*ZKQ*T55
M?#)_HY_E*#,W2!0D8LEU4<'5:36K^JY%OS@?-#O#9LWYR,RV8A3]IB\&XS61
M&>4*&,Z,JZ!Q8=JM+(9-L=%BX;KI5&C3F]UR;N8S2FM@[F?"=-1R8QU4$S_^
M!5!+ P04    " !SA -7\',<0QH#  ")"P  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U-BYX;6RU5EUOVC 4_2M65DVM5)KO0#I :D'5.JD5ZL?V,.W!)!>P
MFMC,=J#;KY\=TC2 04.B+V GYYR<>WUMW^Z2\1<Q Y#H-<^HZ%DS*>>7MBV2
M&>187+ Y4/5FPGB.I9KRJ2WF''!:DO+,]APGLG-,J-7OEL]&O-]EA<P(A1%'
MHLASS/]<0\:6/<NUWAX\D.E,Z@=VOSO'4W@$^3P?<36S:Y64Y$ %811QF/2L
M*_=RX'J:4"*^$UB*QACI4,:,O>C);=JS'.T(,DBDEL#J;P$#R#*MI'S\KD2M
M^IN:V!R_J=^4P:M@QEC @&4_2"IG/:MCH10FN,CD UM^A2J@4.LE+!/E+UI6
M6,="22$DRRNR<I 3NOK'KU4B&@0WV$'P*H+WOP2_(OAEH"MG95A#+'&_R]D2
M<8U6:GI0YJ9DJV@(U<OX*+EZ2Q1/]N^9!!2C%KJE$M,I&6> KH0 *<[1O:JB
M%KHAE$AH92K;Z38*G0Y!8I*),P5]?ARBTY,S=(((14\S5@A,4]&UI3*J/V<G
ME:GKE2EOAZEO!;U OG../,?S#?3!?OH0$D5W2[JW3K=5>NH<>76.O%(OV*'7
M"!I7J9ER)@3".2NH-,6W$HQ*0;V3%OW8BYVNO6A&80 YX3MHS:M?>_4/]8J3
MI,B+#$NU?LHQE^0OUEO(Y'LE'C8LM<(H"C>,FU!^Z)J=![7SX%#G%(S)#;8^
M[T?>ID<3*([-%L/:8KC7XDCED*J:_WD'^1CX+Y.YO0KZ4+X4<YQ SU*GK@"^
M *O_^9,;.5],=7XDL;5@HSK8Z-A5'VWE//;<:&-AMD&=. [,"].NO;8_LNK;
MIJH/-K>K">7[._9KIW;>.5+5=[8+.FQO)M< BJ(=R8UKB_%>BT\<IZIW4'W%
MWL+?*W)HX1]);"U>UWF_$YUCEWZEV,Q\.]A8' ,FC,QKXS;N;_<C2[]27ZOJ
MK;/4"-IQW+OOMZI[\+6ZH_3=[9LRB#<];F/\<,.BW>B3=)-ZA_F44($RF"B2
M<]%6$?)5W[>:2#8O6Z<QDZH1*X<SU2L#UP#U?L)4^U1-=#=6=]_]?U!+ P04
M    " !SA -7,R8AQ:,"  "<"   &0   'AL+W=O<FMS:&5E=',O<VAE970U
M-RYX;6R=EE%OFS 4A?^*Q:JIE=I"("%)ER"UR:IUVJJJ7;=G!VZ"5; SVR3=
M?OVN#65I2TB4%["-S^$[!G,9K85\4BF )L]YQM782;5>7KBNBE/(J3H72^!X
M92YD3C5VY<)52PDTL:(\<WW/"]V<,NY$(SMV)Z.1*'3&.-Q)HHH\I_+/%61B
M/78ZSLO /5NDV@RXT6A)%_  ^G%Y)['GUBX)RX$K)CB1,!\[EYV+R<#,MQ-^
M,EBKC38Q269"/)G.33)V/ ,$&<3:.% \K6 "66:,$.-WY>G4MS3"S?:+^[7-
MCEEF5,%$9+]8HM.Q,W!( G-:9/I>K+] E:=G_&*1*7LDZVJNYY"X4%KDE1@)
M<L;+,WVNUF%#T.EN$?B5P-]7$%2"P 8MR6RL*=4T&DFQ)M+,1C?3L&MCU9B&
M<?,4'[3$JPQU.KH5&LB0G)$;KBE?L%D&Y%(IT.J4W.)+=$:N"UU(',R%U.PO
MM8O_^1G?(@7D> J:LDR=X+S'ARDY/CHA1X1Q\B,5A:(\42-7(Z6YEQM71%<E
MD;^%Z&O!STG@G1+?\X,&^:1=/H48Y1TK]U_+75R;>H'\>H%\Z]?=XH<VW:80
MI2JT*K-55E'8#4?N:I.TU=GLSPNUI#&,'=R "N0*G.CCAT[H?6KA#FKN8!=W
MKXF[5/5><0_?<+<Z'\C=K;F[N[C#)N[N'MRMS@=R]VKNWB[N?A-W;P_N5N<#
MN<.:.]S%/6CB#O?@;G4^D+M?<_=W<0\)?F&(3@'+UUR#;(K1?Q<C& 1O8K3>
MZ, 8@SK&H#7&->-,P]DWK&7)EF]P4ZS!NZ]/$)K]_BI7TZ3A_V=8\KH;M</4
M[>]4+AA7)(,YRKSS/JZ=+&MAV=%B:<O)3&@L3K:9XN\#2#,!K\\%EI2J8RI4
M_4,2_0-02P,$%     @ <X0#5R)_ JLY @  # 4  !D   !X;"]W;W)K<VAE
M971S+W-H965T-3@N>&ULE53+;MLP$/R5A9!# J2F'G%>D 4T-HRF@ LC;M)#
MT0,EKVPB%.F2E)7^?4E*$936#EH=1"ZY,YQ9/M)&JF>]133P4G&A)\'6F-TM
M(;K88D7U2.Y0V)E2JHH:&ZH-T3N%=.U!%2=Q&%Z2BC(19*D?6ZHLE;7A3.!2
M@:ZKBJI?=\AE,PFBX'7@@6VVQ@V0+-W1#:[0/.Z6RD:D9UFS"H5F4H#"<A)\
MC&ZGB<OW"4\,&SWH@W.22_GL@OOU) B=(.18&,= ;;/'*7+NB*R,GQUGT"_I
M@,/^*_O<>[=><JIQ*ODWMC;;27 =P!I+6G/S()M/V/D9.[Y"<NW_T'2Y80!%
MK8VL.K!54#'1MO2EJ\, $%T< <0=(/Y70-(!?.5(J\S;FE%#LU3)!I3+MFRN
MXVOCT=8-$VX75T;9669Q)OLB#4(4P@>84Z;@B?(:098P9X**@E$.]T(;5=N-
M,QI.9V@HXQJ^XHNI*3^SN!4*)A4X(@W?%UCEJ'[8\<?5#$Y/SN $F( %X]SN
MFDZ)L:+=TJ3H!-ZU N,C C_78@1)> YQ&"<'X-/WX3,L+#SR\/@MG-A2]?6*
M^WK%GN_B"-]4BCTJPW*.,,/<G _K-F.ZX%+7"@\:;9FC=BO<]=IGE^/133CX
MHI3LA^8.0,;7HZ3/>N,AZ3TD_^7AD-;D[X6O;M[7>A@R_D,K&9Q5]TXLJ-HP
MH8%C:6'AZ&H<@&KO7AL8N?/'-Y?&7@;?W=KG"I5+L/.EM">O"]R-Z!_ [#=0
M2P,$%     @ <X0#5\<[:\D3!P  WCX  !D   !X;"]W;W)K<VAE971S+W-H
M965T-3DN>&ULS9MK;]LV%(;_"N$50PJDL21?TR8!$NN6(6F#7#ILPS[0,F,)
ME41/HIT$V(\?)2NV9<F,U;V[]$-CR3P/#^U7)'5>Z^2))]]2GS%!GJ,P3D];
MOA"SC^UVZODLHND1G[%8OO/(DX@*>9A,V^DL8722!T5AV]"T?CNB0=PZ.\G/
MW21G)WPNPB!F-PE)YU%$DY<+%O*GTY;>>CUQ&TQ]D9UHGYW,Z)3=,?$PNTGD
M47M%F001B]. QR1ACZ>M<_VC:W2S@+S%UX ]I1NO23:4,>??LH/+R6E+RS)B
M(?-$AJ#RSX*-6!AF))G''P6TM>HS"]Q\_4JW\\'+P8QIRD8\_#F8"/^T-6R1
M"7ND\U#<\B>7%0/J93R/AVG^/WDJVFHMXLU3P:,B6&80!?'R+WTN/HB- ,/8
M$6 4 <:^ 9TBH+,=H.\(Z!8!W7U[Z!4!O7T#^D5 ?]^ 01$PV'<,PR)@F'^[
MRZ\C_RY-*NC92<*?2)*UEK3L12Z(/%I^A4&<:?=.)/+=0,:)L\]<,*+KY /)
M7J7DAK[0<<@(C2?DBL?3#X(E$3'96) #DPD:A"FY9\]B3L/WY!T)8G+O\WDJ
MFZ<G;2$3RK!MK^C\8MFYL;/SQ1'1^X?$T R#/-R9Y.#=^QK,2(WY:1X?$6WP
M)L948Z[I"S&Z&44_5E"L/9+I:'DR'07&5F-,YDF,_N:8G"8?S>CS+^3@QQ_T
M?N]3'<MM\/GL1K6E E<R-%8R-')V=^=PI< NXU0D<SDQBD/R$,]3-B$7/)&D
M()Z2$9U1+Q OA^0\XO-8U*E-V4>V"GQ,)82=MN0TG[)DP5IGV1"T3W6:0\),
M),Q:POHY+%N;%F<=HZ=I)^W%IKZJK?1.9[N5@TS,!<%*"NJL%-11*FA$4Y_(
M%2RD<L:B(9'+>J$>*:,[YLV30 2L=I)2@IO*!@DSD3!K">MM"*(_K*BFVNCX
MN"(:9%HN"%8237<EFJY2-+=LP<-%/KTD;!((8LLY)I2S#/GMFD5CEOQ._B2C
MRWNY.";"'R?!9,J*IH?DZFJTV>R*T_A5:"_Y^NG,:4)CP1@YGR:,91/;*J!.
MA\I<F^H0"3.1, L)LY$P!PES0;"2KGLK7?>:+:?WV2[NX!=&D[J%_T)-ZY 7
M&5@W=8Z4@4U5AH192)B-A#E(F N"E5367ZFLK]3%E3PF_'%[[CPDU_0YB.91
MS>ZM3GS]RD;%& R&6VO.2)E*4Z4A85:_LF36Y&_OU<I!)N:"8"5M#%;:&*BU
MD=T[YK-.625U E"2FJY[2)B)A%F#B@)ZU?T7LD<'"7-!L)*:ABLU#?^G^S09
MD+>5-Q%?%BR)LU(8L8.8QEZ6SJV\VR '=U_LV_?*K9UR>$TECH292)B%A-E(
MF(.$N2!8Z5(X7ET*Q\VV=A<T#5)REU>N"8_)5YH$>0DOTZ9<BWDL_/"%/*14
M7A-7+$W)O2^O@)Y&;ECB280\7R?991JZMC%?:4=:9]#;6IB5Z395(Q)F(6$V
M$N8@82X(5E*CKJWKQQI0C[4U8JU6:=V*TM29-)4:E&9!:3:4YD!I+HI6UMN&
M7Z'__:W W8TI=1A_4Z[)ZHZ:+LI0F@FE65":#:4Y4)J+HI7%N78Q=+6- ;HC
M5O?26)E0)P-*LPK:YDV1?BPW&5MW1?LU<Z"YN2A:64MK/T-7&QK?-]')<_<^
MR\\78;DF-]YV0CZF(;EGGA_SD$^E.B]C[T@]54(M$BC-A-(L*,V&TAPHS471
MRO)>.R^ZVGII6J)6XQI+$&J/O#'4WL[ZN07-PX;2'"C-1='*<EL;(KK:PT"M
MS,CB_0A*,PM:J9#>ZVY7&"UHIS:4YD!I;D'3C<UMPU!;_EM]*F5!K;T/_0WS
MHT&!6XUJK!JH%0*E67K5YM [U2HWM%,'2G-1M+*NUKZ)KC9.\MW<N>>QF:"Q
MQU)B/3-O+MBD5EA0ZP1*,Z$T2Z^Z)\-^55=0^P1*<U&TLJ[6#HJ.L%#\(*;D
M5Y^E/I4M<RV.^-$AN1*3[5N,Y8__#$V[WDFLE2S4"H'23"C-@M)L*,V!TEP4
MK2SMM2.BJRT1U-X.694?06DFE&85M-*/$?K]GKX]FQY7-Y359@XT-Q=%*_\,
M>6UG&&H[X[^8)K^S**,>2>.?.T/-%2C-@M)L*,V!TEP4K:S^M;EBJ,V5ID49
M-:ZQ!-7)[2ZCF- \+"C-AM(<*,U%T<IR6]LEQK]BEZA[::S"ZH,31O4W\":T
M4PM*LZ$TIZ"5RBB&MEU&*03U3W@FQMHS,=2>29.BC!K56#503P-*LXSJ0QWZ
M<%!]8 AJ5D!I+HI6UM7:K##4%?Q&11DUJ[&PH$X%E&85M,VILF=4=05U): T
M%T5;ZJJ]\1QN]N3W-4VF09R2D#U*O'8TD)=@LGR8>GD@^"Q_-'?,A>!1_M)G
M=,*2K(%\_Y%S\7J0/>V[>J3]["]02P,$%     @ <X0#5T";ZJ#= P  0PT
M !D   !X;"]W;W)K<VAE971S+W-H965T-C N>&ULK5=M;]LV$/XK!ZT86B")
MWFQ)3FT#C8UV'9+"B-,-V+ /M'2VB$BD2M)V,^S'CY05Q;9DI4'SQ2;%YSD]
M=\<C3\,M%_<R153P/<^8'%FI4L6E;<LXQ9S("UX@TRM++G*B]%2L;%D()$E)
MRC/;<YS S@EEUGA8/IN)\9"O5489S@3(=9X3\7"%&=^.+-=Z?'!+5ZDR#^SQ
ML" KG*/Z6LR$GMFUE83FR"3E# 0N1]8']W+B^H90(OZ@N)5[8S"N+#B_-Y//
MR<ARC"+,,%;&!-%_&YQ@EAE+6L>WRJA5O],0]\>/UC^6SFMG%D3BA&=_TD2E
M(RNR(,$E66?JEF]_P\JAOK$7\TR6O["ML(X%\5HJGE=DK2"G;/=/OE>!V".X
MO1,$KR)X/TKP*T(9.7NGK'1K2A09#P7?@C!H;<T,RMB4;.T-92:-<R7T*M4\
M-?["%8+KPCF8D809>2"+#(&P!*XY6YTK%#E,<:$T9*XW4;+6JWSY//SM%!6A
MF7RGB5_G4WC[YAV\ <K@+N5KJ0ER:"OM@=%AQY7:JYU:[X3:W]?L GSG##S'
M\UOHDV[Z%&--=TNZ=TBW==SJX'EU\+S27N^$O2>/$^UQFSL[?E#R345MQG[D
MA<[0WNRK;J+ZD=?S:M2!.+\6YW>+0RE+74"E7!,6(\1<*GD&#%NU[LSU]U2<
M#P:](ZDM(-<-HG:IO5IJKU/J)V'VC^**9&W">HUW^J$7!D?*FJA^Z(2]=F7]
M6EG_^2#&:R&0*2BX,$=/F\1^,RQM&EM@'2*#6F30*?(+9^<_H#%HO/QX'W8A
M#I2%M;*P4]D58??ZI(ZQ4.4&9.6A8?8CFGS#!EG"A=1GGDJ!P+\H.!0H8N,)
M9;JR4"H01&&;/V%#;13XX9%+39#K^7NH [>BVJVHTZW)YSM]_@F5+@1-5@@3
M@0E59W!]/8&_;S!?H/@'_H-;W/!L0]FJ L!'$M.,JH=]T#4G#.:H\V<63!U\
M6A-=#PH1/JP$8FZ"\4AHBT.G5M,&7,J"Q#BR]#TO46S0&O_ZBQLX[]L.T%<R
M=A#601W6P4\>IX-FC4?^\2YN@KR^XYS8R:[S=%$ZG>KFLRF4^_E%&6Z]XSI?
M]-*,O9:UP[#L]0_N3R:M,G!0@W[8/Z[45ICKG+@%W:<[VNV^I"<I903^2E&F
M1">J3.&$7^AJ5<F+J_4N13#!Z[_7??+-R[+>*?/%67\E:X=!?>HMW&>:B^>S
M[C>:&C<*(O\XZTV8Y[B]XVJU]SI<\WEQ0\2*,@D9+C7/N0CUMA&[CGTW4;PH
MF]X%5[J%+H>I_LI!80!Z?<GU551-3!]=?S>-_P=02P,$%     @ <X0#5Q#7
M) 6]!   #QH  !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULK5EM;^(X
M$/XK5FYUZDHMB0.$T@6D%M_>[:FL4.G>27>Z#X8,Q&H2<XZ!K70__NR0)L &
M0VCZH>1EGB<SC\>3L=/;</&2!  2?8_"..E;@93+.]M.9@%$-&GP)<3JSIR+
MB$IU*A9VLA1 _104A;;K.)X=419;@UYZ;2P&/;Z2(8MA+%"RBB(J7A\@Y)N^
MA:VW"T]L$4A]P1[TEG0!$Y#?EF.ASNR<Q6<1Q GC,1(P[UOW^(ZXC@:D%G\P
MV"0[QTB',N7\19]\\?N6HSV"$&924U#ULX8AA*%F4G[\FY%:^3,U</?XC?US
M&KP*9DH3&/+P3^;+H&_=6LB'.5V%\HEO?H,LH+;FF_$P2?^C36;K6&BV2B2/
M,K#R(&+Q]I=^SX38 6#O",#- .ZY@&8&:!X"6D< K0S02I79AI+J0*BD@Y[@
M&R2TM6+3!ZF8*5J%SV(][A,IU%VF<'+PE4M &*,;I(\2-*:O=!H"HK&/'GF\
MN)$@(D1@*I7)1&6=OU)W^?RT^14!25F8?$178RH@E@%(-J/ZP@UZ@C4/URQ>
MH*$ GTGTF<Y8R.0K^GL$T13$/\KHVX2@JP\?T0?$8O0<\%6B'I/T;*GBUM[;
MLRS&AVV,[I$8FVC$U>,3]$OL@U^"'YKQV#40V$KP7'7W3?4'U\CX^RINH*9S
MC5S';98Y9(83F"DX3N%N"9R8X5_YNH&P5P;?BZ:9YU SY6L=X1M^>5;I(&0P
M%<Q?0#:DU^CQ<5@,YW\J/VB,)C!;"3W..F-^75%!8PF [A<"0)43F0/*AMGH
MAJZ0=\F2SJ!OJ1*8@%B#-?CY)^PYG\HDKI.,U$2V)W\KE[]EE+^8=[Z:=]>Z
M.K!H%94)N"7R4B+]1E@/W$[GUNG9ZUUESK(BIZSV8FGGL;0KQ<)4=BC%9%DP
M6R;<W/' :3A=SW.[.W\'L5T"(D:?+QQ=+U?$JZ1((JF0:HSE=AKY5$*9.&;2
MM(#@UC4Z6H#>B2=&_(62=7+).I4D U5J3@IFILQ+I@ZX72;8._'$B+]0L-M<
ML%NC=Y,Q00\T?C$67R-%U>);)QFIB6Q/NFXN7;>NXMO]H6#BKM/L'!2HLZR(
MT:D+0\9.T3,Z%8,^,;E.\(WH*W*S:M(J[<_>AR=F_*5Z[?38N-K\4MW0B,4Z
M48Q3SDQ;=<[5RD;J8MN7U"TD=6MK%#(JG02[+_U6^W#NG6M(S,Y=&GS1;V-S
MPUV:3]O"8\ZG6AOH6ME(76S[DA8]-*[61!OSJ56:)AYV#_/I3$-B=N[2X(NF
M&YN[[F' 8HK^"B )J%J2IZDUY VU@I/^;HX]!X#T8]N?7,<9'5VZEVI64P^=
M"5LG&ZF+;5_]HL''U3I\0PN1,>TMNCROC0_S[BPS8O;KTKB++AU7:].-4ZY3
M/I.\P\C/LR-FURX-O>BWL;GAKMY F?G2_23D9.N+3NF4>2\#,3-<JEG1:&-S
MIUUSD3JW!:NIT\X&H4XV4A?;_A9FL0IPJZT"3/,WH_JALVJU#R;PN8;$[%S5
MX.V='?0(Q"+]$I&@&5_%<KN9GE_-OW;<IWO\=F&^_50RHF+!X@2%,%=0I]%1
M;Q>Q_?JP/9%\F>['3[F4/$H/ Z ^"&V@[L\YEV\G^@'Y-Z#!_U!+ P04
M" !SA -7O]+:?E0"  #1!0  &0   'AL+W=O<FMS:&5E=',O<VAE970V,BYX
M;6R=5&UOTS 0_BM6F- FL>6E68M&&HFU0H 8JO;"/KOIM;'FV,&^M.N_Y^QD
M48$M3'QI?/8]CY_GW+MLI\V#+0&0/592V6E0(M8786B+$BINSW0-BD[6VE0<
M*32;T-8&^,J#*ADF430.*RY4D&=^;V'R3#<HA8*%8;:I*F[VER#U;AK$P=/&
MM=B4Z#;"/*OY!FX [^J%H2CL65:B F6%5LS >AI\C"]FJ<OW"3\$[.S!FCDG
M2ZT?7/!E-0TB)P@D%.@8.'VV, ,I'1')^-EQ!OV5#GBX?F+_Y+V3ER6W,-/R
M7JRPG ;O [:"-6\D7NO=9^C\G#N^0DOK?]FNRXT"5C06==6!24$E5/OECUT=
M#@!Q^@(@Z0#):P&C#C#R1EMEWM:<(\\SHW?,N&QB<PM?&X\F-T*Y5[Q!0Z>"
M<)A_UP@LCMDI<RO+%GS/EQ(85ROV3:O-*8*IV!R62"E7'!LC4%">7O\;<#P'
MY$+:$X+>W<S9\=$).V)"L=M2-Y8 -@N1/#@E8='IO6SU)B_H_=JH,S:*WK$D
M2D;/P&?#\#D4!(\]//D='E+E^O(E??D2SY>^P'<OL"1#6@'; S?/^6D)QI[
M]=0V'TV2R3@+MX>R!Z]QK7QA:U[ -*!>M6"V$.1OW\3CZ,. B5%O8C1HXA+V
MFEYOR$1+<'Y@(OK#P. 5_VD@[0VD@P9N-7+):$99I'^54)OG+*2O>H>_L\XG
MT23MLUI]X4'#N6%WQ<U&*,LDK D7G4VH4J8=(&V NO8]N-1('>V7)<U<,"Z!
MSM>:FJD+7%OW4SS_!5!+ P04    " !SA -7N0HIVJ<$  !E%P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970V,RYX;6RUF&UOJS84Q[^*Q1YTKY0;, EYZ))(
MMV%WZ[1.49.[O9CVPH&3!!4PLTW32OOPLR$E$(A;)&Y?% P^_V/_<FS.\>Q(
MV2,_  CT'(4QGQL'(9(;T^3> 2+"^S2!6+[94181(9ML;_*$ ?$SHR@T;<L:
MF1$)8F,QRYZMV&)&4Q$&,:P8XFD4$?9R"R$]S@ULO#YX"/8'H1Z8BUE"]K &
M\359,=DR"Q4_B"#F 8T1@]W<^(QO7#Q6!EF//P,X\M(]4E/94OJH&G?^W+#4
MB" $3R@)(B]/L(0P5$IR'/^>1(W"IS(LW[^J?\DF+R>S)1R6-/PK\,5A;DP,
MY,..I*%XH,=?X30A1^EY-.39?W3,^XX= WDI%S0Z&<L11$&<7\GS"43)  ^O
M&-@G _N]!H.3P>"]!L.3P3 CDT\EX^ 2018S1H^(J=Y23=UD,#-K.?T@5K_[
M6C#Y-I!V8O$'%8"PC3ZA)8V?@(E@&P):0QQ0AM1+CCZX($@0<K2!9Y&2\*/L
M_'7MH@_??YR90HY!*9G>R=]M[L^^XN^>L#ZRG!ZR+3QM,%_JS7]+XSX:6,K<
M'C28NWIS%SQICC-SNVIN2G %/;N@9V=ZPRMZ&Y8&7*!;$C^BO^\AV@+[!_V'
MEB3Y^1G]3HF,Z]B7W%B4MU[[-''3>E++_X8GQ(.Y(=<W!_8$QN+'[_#(^JF)
M8I=B;D=B%<*#@O! 2_@!$O(B]QG!$=U)B/'^DU X7=B*'MI00<(FF+GH*!-5
M6]_38C">6.IO9CZ506F]MP75D5@%U+  -=2'X@&0\\/U5>RFH*)^J(U!K8NV
M,=BEF-N16 6M4Z!UM&A5K*&[F N6JDCLH2_2$_H<T306312=6O!-+*<I^-[;
MT7U'Q\K,1L7,1NUF=A?+U05R2WL@ GIH+>3%1RM@GGPM\X"FZ>8NIJ7!67W+
MN9BJ=AQM@Z$CL0JR<8%LK$6V8M0#\#G:,1I5EIN"V<1G7/OQQJ-A4SAH';=E
MU)%8A=&D8#1Y.ZQR-"H_[+UBDJ%4#K;U@4C?Z([S5+[Y$,2(9T\:TXK<(QZ6
M,#JC_G1BX0N*VJ&UI=B16(7BM* X[8+B]7UH6@L\7 \Z[1C:XNI(K((+6^=4
MUFJWFY569Z]$$JU8(#=P%7 ^#4/".$J Y<'7G-+F?B=EDN.^<[G'Z8?7EF57
M:E68I;H =PESQ2 *TJCWQK?BY+3ZL1A<<M2.K#7'CM2J',\5 M:7"-DFUS[B
M['K$#?JU@.LTS>]*K0KJG.AC?::O#[C-0?H\T+"<C*B*8"VH]WC"NV'!?@^L
MD>>@%G>X'G>=%@-=J55QGLL!K*\'WHMSPX@?Q'ODDA?>2"YWXY3(V9??$/U0
M6H/[%KD^/B?[N&6V?P6<?,S!2]6QU=L0G1K$00VB=EBM(7:D5H5XKBMPR\+B
M 7R($E%\,'H7ZU@^C+T@(>$IG\D,( *_$6>]Y+C, O7C:TWS6U0<^%QR8'W-
MD=.4:3*)Y3:WI%SP'OJ%4=X<;/6"8XB;Z@V]U]:,.JTXS-*1ICJ OB=L'\0<
MA;"3\E9?G=BR_$PW;PB:9*><6RH$C;+; Q ?F.H@W^\H%:\-=7!:G*PO_@=0
M2P,$%     @ <X0#5XQ:1PZD @  ]08  !D   !X;"]W;W)K<VAE971S+W-H
M965T-C0N>&ULE55=;],P%/TK5AAHDUCST:1;1QN)-4* M*E:V7A /+C);6O-
ML8/MM!N_GNLDK;J2AO&2^..<DWONC:]'&ZD>]0K D*><"SUV5L845ZZKTQ7D
M5/=D 0)W%E+EU.!4+5U=**!91<JY&WC>P,TI$TX\JM:F*A[)TG F8*J(+O.<
MJN=KX'(S=GQGNW#'EBMC%]QX5- ES,#<%U.%,W>GDK$<A&92$ 6+L?/1OTI"
MBZ\ #PPV>F],K).YE(]V\B4;.YX-"#BDQBI0?*UA IQ;(0SC5Z/I[#YIB?OC
MK?JGRCMZF5,-$\F_L\RLQLZE0S)8T)*;.[GY#(V?R.JEDNOJ238-UG-(6FHC
M\X:,$>1,U&_ZU.1AC^"'1PA!0PA>2^@WA/YK"6%#J%+MUE:J/"34T'BDY(8H
MBT8U.ZB26;'1/A.V[#.C<)<AS\2WT@#Q W).)E*L01DVYT!F()A4Q&YJW)KA
MSY:5N"X79$*5>F9B21XH+^N58\33! QE7)^AQ+<5D.CM<6R"6H$7A.3'#>1S
M4#^1<S]+R.G)&3DA3*" +#45F1ZY!GW;Z-VT\7A=>PR.>/Q:BA[I>^_M!_HM
M]$DW/8$4Z7Y%#UKH23?]AJH>\2)+]X<OZ2X6:U>Q8%>QH-(+C^A-%1,I*RAO
M2T1-'514>^+7\:47>=[(7>_[?14J^1?J1?3]7?3]SNCO!<TE_@"_(</C.3>$
M:5U2D0))I3:MQ:T%H[TXSJ/+\,!2"V@X/  EG:'9!GNE"YK"V,$.JD&MP8G?
MO?$'WH>.LH4[XV&G\5MLX>GV[& .2F':S(9_)?UB./0'!V[;4)%W@$HZ _I?
MN^Y>C[$7 O[62R8TX;! >:]W@;E7=9.M)T865=N92X--K!JN\%X"90&XOY!X
M\)N)[62[FR[^ U!+ P04    " !SA -7!ZTUZ54#   F#   &0   'AL+W=O
M<FMS:&5E=',O<VAE970V-2YX;6RU5VUOTS 0_BM6&&B38'EITE6CK;0U10QI
M:%HW^(#XX#;7)EIB%]MI![^>LY-E?4FS N7+&MO//7?/W<6Y=9=</,@80)''
M+&6R9\5*S<]M6TYBR*@\Y7-@>#+E(J,*EV)FR[D &AFC++4]QVG;&4V8U>^:
MO1O1[_)<I0F#&T%DGF54_+R$E"][EFL];=PFLUCI#;O?G=,9C$#=SV\$KNR*
M)4HR8#+AC B8]JP+]WS8T7@#^)+ 4JX\$ZUDS/F#7EQ%/<O1 4$*$Z49*/XL
M8 !IJHDPC!\EIU6YU(:KST_L'XQVU#*F$@8\_9I$*NY9'8M$,*5YJF[Y\B.4
M>@+--^&I-'_)LL0Z%IGD4O&L-,8(LH05O_2QS,.* ?+4&WBE@;=IX.\P:)4&
MK7T]^*6!OZ^'H#0PTNU"NTE<2!7M=P5?$J'1R*8?3/:-->8K8;I/1DK@:8)V
MJO^9*R"N1]Z1 6<+$"H9IT!&P!(NB#Z4>#3"[HQRW.=3<L44")"*#!^Q5R60
MXQ 435)Y@L#[44B.CT[($4D8N8MY+BF+9-=6&*GV9T_*J"Z+J+P=4;7(-6<J
MEF3((HAJ[,-F^W:#O8T9JM+D/:7ITFLD_)2S4])RWA+/\5HU\0SV-_?JY/R;
M]^%?>U]+1JOJF9;A\W?P760<^^07-6\ZMD0$8T42*7/*)D F7*K:DC>2ZOOP
M7,[I!'H67G@2Q *L_IM7;MMY7Y?O0Y*%!5G;D.F+==%ONW[77JRF>!OC>T&%
M6<NC7^71;\SC70PD>+W[Q0MST"7SR;=KR,8@OM=EM='%GV;UD&3A(<F&!R);
MJU-0U2EHK!,62 G\HN4TQ7NMO/Z@N/[J2A)LM8J+7^WU?AKL PH+4+ "\ARW
MM=&9+X#6)+<KR>W_\8JW:T+9%+X')MS&^*ZS(;L9LZ;ZK%)]UOQ"<K5:8BVS
M3N79=ND\U]N0N0\HW 9YOK=9WQ= :TH[E=).H]+A= IF1'M6*ZBJ[>:"R'56
M_#NG3N!NZ-T/%NX'&[X(*U3;*X-/!F)F)DZ)A<N9*KYGU6XUU%Z866YC_](]
M'[@U^R$.P<7,^DQ?3-#75,P2)DD*4W3EG)YA)XIB*BT6BL_-V#7F"H<X\QCC
M( ]" _!\RO&2+Q?:0?6O0?\W4$L#!!0    ( '.$ U?L>W'M"@,  -T)   9
M    >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM;(V66V_:,!3'OXH5[:&5MN:>
M0 5(+6C:IFVJ>MF>37( JXZ=V:; MY_MI&E*3,4+^'+^)[]S?#F>[+AXEAL
MA?8597+J;92JKWU?%ANHL+SB-3 ]L^*BPDIWQ=J7M0!<6E%%_2@(,K_"A'FS
MB1V[$[,)WRI*&-P))+=5A<7A%BC?3;W0>QVX)^N-,@/^;%+C-3R >JKOA.[Y
MG9>25, DX0P)6$V]F_!Z'EJ!M?A#8"=[;61"67+^;#K?RZD7&"*@4"CC NN_
M%Y@#I<:3YOC7.O6Z;QIAO_WJ_:L-7@>SQ!+FG/XEI=I,O9&'2ECA+57W?/<-
MVH!2XZ_@5-I?M&MM P\56ZEXU8HU0458\X_W;2)Z@C Y(8A:072N(&X%L0VT
M(;-A+;#"LXG@.R2,M?9F&C8W5JVC(<PLXX,2>I9HG9K]Y@I0&*,OZ*8HQ!9*
M])/@):%$$9 G1B\6H#"A\E+//STLT,6G2_0)$88>-WPK,2OEQ%>:S7S!+UJ.
MVX8C.L'Q8\NN4!Q\1E$0Q0[Y_&/Y @HM#ZT\>B_W=4:ZM$1=6B+K+SGA[S7L
M&A\$I]053^,@LP[,87F9Y=%H//%?^M1#HW$>1)W1.[:X8XO/8H.JIOP @);
M8$64,^N-J[0'$(?I,:7#*,I2-V72429G44J%]0[3FP)17F"*%-Z#DS090(1!
MF!R1#HW2T<@-FG:@Z5F@A"D0()6++1VR)6:;OF-S&*7CW V7=7#9QW#E"V9%
MLQ'UY>E>XVSXX2P\@AO:1&'F9LL[MORLQ!6\JHBT]SKL=7F1[O7-!P3ZO!Q1
M#FW&\8D,CCK*T7DG6? 56$J]"5?@9AP-L]0[K0WCT"8)QF[&<<<X/I>QW!8*
M[; 0F*F#"W'LV(KI$:++)G CAL%;H0C.@N1J \)YP0>.PWF\#QU&<7;B!(>]
M(A9^R/;(E5Y5W!+2MUKEY P'EW*8Y(-U=IGE471\>?N]VFL>/K^P6!,F$865
MU@57N0Y5-&^)IJ-X;<OQDBM=W&USH]]?((R!GE]Q79+;CJGPW8MN]A]02P,$
M%     @ <X0#5RN/=OPO P  (PH  !D   !X;"]W;W)K<VAE971S+W-H965T
M-C<N>&ULI59K;]HP%/TK5K0/5"K-@Q!8!4CEL:V3NE5];)\-N9"HB<UL\^B_
MW[63II 85&U?(+;/.?>>Z^=@Q\6+3  4V><9DT,G46I][;IRD4!.Y15? \.1
M)1<Y5=@4*U>N!=#8D/+,#3PO<G.:,F<T,'WW8C3@&Y6E#.X%D9L\I^)U#!G?
M#1W?>>MX2%>)TAWN:+"F*W@$];R^%]AR*Y4XS8')E#,B8#ET;OSK64_C#>!7
M"CMY\$VTDSGG+[IQ&P\=3R<$&2R45J#XMX4)9)D6PC3^E)I.%5(3#[_?U+\8
M[^AE3B5,>/8[C54R=/H.B6%)-YEZX+MO4/KI:KT%SZ3Y);L2ZSEDL9&*YR49
M,\A35OS3?5F' P+JV E!20CJA/ $H5,2.A^-$):$\*,1NB7!6'<+[Z9P4ZKH
M:"#XC@B-1C7]8:IOV%BOE.EU\J@$CJ;(4Z,?7 'Q0](F/U4"@MRR!<^!4!:3
MV1X7HX1S0ZTI*)IF\@)!SX]3TOIT03Z1E)&GA&\D(N7 59BECN4NRHS&14;!
MB8PZY(XSE4@R8S'$%O[T/#\ZPW>Q.E6)@K<2C8.S@M\W[(ITO$L2>$''DL_D
MX_3 9N?_HL_^.?I1,3K5>ND8O?"$'NY.W'N,P'Z14+8"H@1EDA:[?H7G$FEE
M7,H+V[P7RI%1UN?7=A3Z:&E[6,LFIAWT^\>@:1/D]Z)CS,PBU/?]"G1D/JS,
MAV?-?^5;$ Q/287GZERF\2NN=;TI;&X+J>Y! CV_6W/;Q/1K!9G:(#7,K(GQ
MO<!NM5M9[9ZU6FQYQED;KR1!5<I69GIM3KN-\&%]6IN0H#ZI38A?EYE9(G7M
M/J/*9W1^2M^7+,$5'*=RS27-"%\2*B4HZP$6-=)HAS7#%DA]9BV07LUO$](Y
MX;=7^>V=]?O$E79G9K=8NZ0%Q6F.%;@D#)3-<:^YX_RHENVD"6K[?:_FVJ84
MUO;%S*(4!9]KSMV#6R\'L3+/#4D6?,-4<:!5O=6+YL9<Y+7^L7\]\2W]4WP!
M%0^6=_GB^71'Q2IEDF2PQ%#>50^G2!1/DJ*A^-K<N7.N\ 8WGPF^XD!H (XO
M.=Z[94,'J-Z%H[]02P,$%     @ <X0#5^Q+2&_S!0  1RD  !D   !X;"]W
M;W)K<VAE971S+W-H965T-C@N>&ULS5IM;]LV$/XKA%<,"9!&+Y;M)',,)!:[
M%R!M$#<=AF$?&(FVB4JB2])Q,NS'CY04O5@R;37LUB^Q7GC/'>_AG7@7CC>4
M?>9+C 5XBJ.$7_:60JPN+(L'2QPC?DI7.)%OYI3%2,A;MK#XBF$4ID)Q9+FV
M/;1B1)+>9)P^NV63,5V+B"3XE@&^CF/$GJ]Q1#>7/:?W\N".+)9"/; FXQ5:
MX!D6]ZM;)N^L B4D,4XXH0E@>'[9NW(NH.LI@73$)X(WO'(-U%0>*/VL;GX-
M+WNVL@A'.! * LF?1SS%4:20I!U?<M!>H5,)5J]?T-^EDY>3>4 <3VGT.PG%
M\K)WU@,AGJ-U).[HYA><3VB@\ (:\?0OV.1C[1X(UES0.!>6%L0DR7[14^Z(
MBH SVB'@Y@+NMH"W0Z"?"_2W!08[!+Q<P#M4PR 72*=N97-/'><C@29C1C>
MJ=$235VDWD^EI;](HA;*3##YED@Y,7E/!0;. +P%LR5B^*UR>@BF-)8KD:.4
MRR,?"T0B#C[B)[%&T;$<?#_SP=&;8_ &D 1\7-(U1TG(QY:0)BE@*\C57V?J
MW1WJ^^"&)F+) 4Q"'+;(^WKYH4;>DJXH_.&^^./:U0+^MDY.0=\^ :[M]EOL
MF1XN[K9-YW7:X5=KKSFC7RR.?HKG[<"K+HE;]"SS@P!7C*%D@=7U"7A/DT?,
MA7Q]M4$L/ $?5FK)G,@%Q(5\*\"SS'5W.*"+A/R-Y8"KF*X3T;90,E.&J2DJ
MO3U.[+'U6'6]UEB542_X"@7XLB=3)L?L$?<F/_[@#.V?VHC8JPX:4E?SO%=X
MWCO \]>[/0^?5(#B-D=ZC9GU[:&[Y<OF(-?QO/H@/QLTJ P:] =;2+")Y V=
M83&H-OU!,?W!ZZ:?K3/PYPV.'S#[J\T-6@T=5\O4))AO$@P: JO1-"QH&AZ<
M'VJ?C I7X.$9M.:1+&&D/^"33"(D68!;S @-P=$?&+'C-E+U]G@RW2#6]AF:
M:@6[$F@2#!H"JQ$X*@@<?6L"92(B+!/:RY[>&,?>39]6LBM])L&@(; :?6<%
M?6=&TR3X1]*%64 X>H@PD&_$$H-WA,F/]562R!T[X[): '(G*1_32%81*BK5
MH/01G8.?);K0YEVMR5WSKDDPWR08- 16X_V\X/W\O\V[:7W(3U0$!W*0K!#;
MF,V,.J]NF4[=P=;&0FMY5\9,@D%#8#7&'+NLL^QO'*LS').W*$ED"08D#N':
M,-2;TS4.C:+Y1M&@*;0ZL94"VOD>@S&W2DV^$HY.(Q[UUG=FSB0:-(569\XM
MF7.US$D'IYVV), 9.WLB2HO6.:),HOE&T: IM#HO9=?!.:3M\'7%K].LZP?V
M=B.A99"W/<C/!U6KW_/M0; %:5095'= 6?P[KZS^&WT7^!1$ZU!ECU=T8)QF
M*7\V:CI/:WOGA7N(3FA*9YV/LAOAO+(=T>!CI_?S&DGFG9?'68]U9\VTQS0W
MJYG $,1I([0UU1CM7AA%@Z;0ZLR6#0Q'WS'0? +D!NR&)"1>Q_JO@LEFP-0H
MFF\4#9I"JU-5MBJ< WH5>[99U_DVJV67!:I4YQLN%*UQ99L%/LQ!%N2:'#EJ
M%D';"=)HLV*_0FA*89V8L@GAZ+L0>V((/>V/(:,] Z-HOE$T: JM3E79-W .
M:!S\_S'4;"1L_WM"/X_.'.Y5"$TIK/_3L>P.N/KN@#Z&7BK#O&'W<4FDYZL-
M.UUPZ35W#2ZC:+Y1-&@*K<YAV0APO\M&0&Y5=7$[6]&D-[PS:49[ *;0ZJ25
M/0!7WP.XD[YF)%!;]YF@P6=P+W?D'!S=S>[YL3ZNC+8#C*+Y1M&@*;0Z164[
MP'UE.^#;5,-NL[1W!F>-<EAO?&?B#E(*32FM,U+V)US3_0ES]? >TPZIA_40
MG2DSB09-H67,6I6#83%FB_1$'@>!6O/9,:#B:7'J[RH]Z[;U_-JYF#HMSWWG
M F9G^DKX[(CA#6(+DG 0X;E499^.9*'/LE-[V8V@J_18V@,5@L;IY1*C$#,U
M0+Z?4RI>;I2"XNSDY%]02P,$%     @ <X0#5R"$RJV6!   U1@  !D   !X
M;"]W;W)K<VAE971S+W-H965T-CDN>&ULM5EA3^,X$/TK5@Z=6 F:Q&W:PK65
MH.SJ[J2]1<NQI_MHDFEK;1+G;*>%?W^VDR9I":8-\(7:CF?FO;$]?C*3#>,_
MQ0I HL<D3L7464F97;JN"%>0$-%C&:3JRX+QA$C5Y4M79!Q(9(R2V,6>-W03
M0E-G-C%CMWPV8;F,:0JW'(D\20A_NH:8;::.[VP'OM/E2NH!=S;)R!+N0-YG
MMUSUW,I+1!-(!64IXK"8.E?^Y1P/M(&9\8/"1C3:2%-Y8.RG[OP131U/(X(8
M0JE=$/6SACG$L?:D</Q7.G6JF-JPV=YZ_V+(*S(/1,"<Q?_02*ZFSMA!$2Q(
M'LOO;/,[E(0"[2]DL3!_T::<ZSDHS(5D26FL$"0T+7[)8YF(AH$_>L$ EP;X
M4(-^:= W1 MDAM8-D60VX6R#N)ZMO.F&R8VQ5FQHJI?Q3G+UE2H[.?N+24!^
M@,[1W8IP.-<IB="<)6J?"&(R?8Z^9:9QI5-.Y1,ZO0%):"P^J6_W=S?H].03
M.D$N$MJ%0#1%]RF5XJPQ\/>*Y8*DD1H\V>E/7*EH:#!N6$*^+B#C%R /T5>6
MRI5 G],(HA;[N=W>QQ8'KLI?E42\3>(UMGK\,T][J.^=(>SA?AL@N_D-A,K<
M-^;8 J=?K6G?^!N\X.];+H54N:7I\@RE>?( '+'%=C%.5?:+YJ>VW!>N ^-:
MUX#U# \5IW63CC6\+CR7(B,A3!U5603P-3BS7W_QA]YO%G*#BMS@<'(;<TK5
MAB5KX*KJ('@$'E(!*.,T!,,U8G%,N$"9RH+AW4J["#INT/:]WL#?(VZ%UI%X
M4!$/WD!\02A':Q+GQY .GI$.>H-@C[,554?.PXKS\ V<.>A[2GU#H3K/7-T(
M.8E13!<J!_\"X:V<[0'[*"E* PY01)[:JM/<[F&\]>"W>=C)PJC*PNCP+)#E
MDL.2J*I-%6>J[M.P6/<VLH7?86.!O;W5M<W8 3NNP(ZM8-7EN@"JENGXTC-^
M5GK.^X,]O-;@'7?C147MXE!J[U=X+IZ=P5%O_PA:874D[7NU0O ZT^Y4=LIX
M3<Z#WFC_DK&CZLJZH8O\0UD?=>1*M[8S9X_<E1FNF>&/DP>E[QU]@"_V";9,
M:HB(7=RUJO&/D#7O=P#+J'M7_WB_\+1/:RB$75:UG/'?HF>ZG:_G8B;H!<-]
M0FVS&K?_+I]:I?AVF?*Y6 ?R$$.'W14<LKL^0I'XM23Q[1?\#L%WW(;#P[:A
M%5Q7\K42\>U2Q$Z^VVX=';1;K;BZ\JY%C6]7-7;>G83H*Q$/4:)V%UV34LLA
MWZZ'=I)RW"5Y\?HE^1&B!]>B!]M%SP\09H732!WI#$+=D0RMU?#Q9:V,92]K
M=D!="==Z!]OUCI7P^Y6Y$L5K9<X.MFLR:HF$[1+IN&1T*GLE@E?*GAUGUSS4
MD@O;)==Q>>A4!E]!<$@9M+OHFJ1:P6&[@K,FZ:BR6 :RE44[EF.YNHV'XP3X
MTKRG"[5\>2J+-^1JM'JSOS(OU6X]O7CP_TKX4M%#,2R4J=<;J6K'BS?THB-9
M9IZA'YB4+#'-%9 (N)Z@OB\8D]N.#E#])V/V/U!+ P04    " !SA -7WG:A
MD+P#  "7#P  &0   'AL+W=O<FMS:&5E=',O<VAE970W,"YX;6RUEUMOZC@0
MQ[_**.I#*[7D H1P!$B][.6LU#U5.3W[L-H'EPQ@-;%9VX$>:3_\VDZ:Y"PA
M"HOH0Q,[]LQOYN]DF,F.BS>Y1E3PGB9,3IVU4IM/KBL7:TR)[/$-,OUDR45*
ME!Z*E2LW DEL-Z6)&WA>Z*:$,F<VL7-/8C;AF4HHPR<!,DM3(K[?8<)W4\=W
M/B:>Z6JMS(0[FVS("N>H7C9/0H_<TDI,4V22<@8"EU/GUO]T%WAF@UWQC>).
MUN[!A/+*^9L9?(ZGCF>(,,&%,B:(OFSQ'I/$6-(<?Q=&G=*GV5B__[#^LPU>
M!_-*)-[SY \:J_74B1R(<4FR1#WSW:]8!#0T]A8\D?8_[(JUG@.+3"J>%ILU
M04I9?B7O12)J&P:'-@3%AL!RYXXLY0-19#81? ?"K-;6S(T-U>[6<)095>9*
MZ*=4[U.SW[E"\(=P _,U$7AC(HSAGJ=:=DELXF[@"875GRT0YHHOWN"%427A
MUJ24JN]P^8"*T$1>_7>QL2GAST=,7U'\!1?@@LSG*,N-7-<FOJYY)@F+]>3%
M#^.)JW2LAMA=%''=Y7$%!^(*X9$SM9;P$XLQ_G&_JW-4)BKX2-1=T&KPMXSU
MH.]=0^ %?7B9/\#EQ54]H/S2XJE?2M*WG@8'/'W)E%0Z:LI6U\ RDSG@RP\W
MESHO^>T5_-/H-(\F]S&T/LRKN9V-PG#B;AO !B78H#O8SIYW?5;(%H5^?V%)
MJ( M23*TC#%/$B(D;#2]I32X5;J:D'/O40TY[(V&S<S#DGG8G9FL5@)71)]X
MRI2@^M.R*(@U6A-1;CNL$?F#P:B9*"R)PE:B7P1A.F\G2!LV2'L :E1"C;I!
MG4'6T9ZL42\:>[4_OQD^*N&C;O!'ZQOMZ=L?'GI+QB7-N)7F65<<\Q$]0>#Q
MGL!>,Y/O59]YKR/5&10N?(<=@&MUR>\(?+2JA>4N.$&%$[3BW)MZEB08N_K'
MP!+I:6]PX:R+PE75\-O+1B/A.<3N=\YN55C\]LK2R'Z\[H/.9%7Y\(^H'_]?
M[^&>WOZPWS\ 5U42O[V4G+L@%^[KG^Y1+PH.8%>UQF\O-J?5Y,)X7>6QWQ\<
M@*IJB-]>1+ZAM,EC,>#[1O<,>J X;/7T*<)'QPA?E1B_O<:TPI[C((R/. A!
M592"]J+4&L;1!R/8KT(-!\.M]4HIBI7M""4L>,94WC:5LV77>9OW6M7RO&5]
M)&*EN2#!I=[JZ=^J#HB\"\P'BF]LY_7*E>[C[.U:=\XHS +]?,EU]U4,C(.R
M%Y_]"U!+ P04    " !SA -7?D T,=X#  "N#P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970W,2YX;6RUEUMOHS@4Q[^*A?K02FW !G(9)9%ZV<N,U-TJV<X^
MC/;!!2=!!3MKFZ0CS8??8T.!*H%-)LI+@HV/S^_X;_MPQELA7]6*,8W>LI2K
MB;/2>OW)=56T8AE5/;%F'-XLA,RHAJ9<NFHM&8VM49:ZQ//Z;D83[DS'MN])
M3L<BUVG"V9-$*L\R*K_?L51L)PYVWCMFR7*E38<[':_IDLV9?EX_26BYU2QQ
MDC&N$L&19(N)<XL_W1'/&-@17Q.V58UG9$)Y$>+5-#['$\<S1"QED3934/C;
ML'N6IF8FX/BWG-2I?!K#YO/[[+_:X"&8%ZK8O4C_3F*]FCA#!\5L0?-4S\3V
M=U8&%)KY(I$J^XNVY5C/05&NM,A*8R#($E[\T[=R(1H&09L!*0V(Y2X<6<H'
MJNET+,4623,:9C,/-E1K#7 )-ZK,M82W"=CIZ1]",X1#=(/F*RK9C8DP1O<B
M ]D5M0MW@V9,:9E$&M[,M8A>T3-/M'N[I3)6Z-:L:Z*_H\L'IFF2JJLV"X4N
M9_-G>/_MD64O3/Z#+I"+E/&K4,*+,=>-CK]6(E>4Q]!Y\:$]=C7$;B)PHS+.
MNR).TA)G'ST*KE<*_<)C%G^T=V'-JH4C[PMW1SHG_)+S'O*]:T0\XJ/G^0.Z
MO+AJ!E3\=7CR*XE\ZREH\?1GKI6&J!.^O$8\-RN'Q.+=S26L2_%XA7[L=5I$
M4_@(K0]S5#=30K W=C=[R(**+#B<;&L/  A.-TS"@48+FDBTH6G.+&0LTI1*
MA=: ;S$-;[U>^Y@+[\,&<]@;]/<SAQ5S>#@S72XE6U(X @F'_0IW3502 ]H^
MHF+N?H,HP(-P/U&_(NIW$OTF*8=U.T';_JZVWB#83S6HJ :'49U!U\&.KD&O
M1=9AA3L\#/=H28<[DH["H.5@C"J:42?-#+*.N4A/T'2TH^E-.&S!PEY]VWL'
M@IU!UM)W4]=^SQ^T,#<R%#Z0^6AMRYF;XF*?X!8B4A.13J)[RB/XCF"Q"U\&
M"Y:<=GI+9Q^DQFU7,ZZS!NY.&WLASZ&ZOZ.ZWQOY+?AU:L'=N64O_O$;(-C9
M /VPY6;$=0K!1^20G]<]W-'=#T=M<'4VP=WIY-Q)N73_,2M[+3D0U^D&=^>;
MT_)R.7E39X(#0EJHZJR"N]/*5_B.-:O'8\3>ULQ^T&J!-M!]BO+#8Y2ODP[N
MSCJ=L.?8":,C=@*I<Q3ISE&=81R],TIG_[<SW$8)E3&YM(6B0I'(N2ZJJ:JW
M*D9OBQ*L'EY4LH]4+@$,I6P!IEYO #K+HC@L&EJL;4'V(C24=_9Q!04UDV8
MO%\(*,K*AG%0E>C3_P!02P,$%     @ <X0#5RC69(>N P  QQ   !D   !X
M;"]W;W)K<VAE971S+W-H965T-S(N>&ULM5A=;]LV%/TKA%84+=!&HC[MU#:0
M6.H^@ Q!W*X/PQX8Z]H2(HD>2=O9OR])*:HL*8*S*B\V29U[R'-Y3/%Z=J3L
M@2<  CWF6<'G1B+$[M(T^3J!G/ +NH-"/ME0EA,ANVQK\AT#$NN@/#-MR_+-
MG*2%L9CIL5NVF-&]R-(";AGB^SPG[+]KR.AQ;F#C:> NW29"#9B+V8YL807B
MZ^Z6R9Y9L\1I#@5/:8$8;.;&%;Z,L [0B+]2./)&&RDI]Y0^J,[O\=RPU(H@
M@[50%$1^'6 )6::8Y#K^K4B->DX5V&P_L7_6XJ68>\)A2;-O:2R2N3$Q4 P;
MLL_$'3W^!I4@3_&M:<;U)SI66,M ZST7-*^"Y0KRM"B_R6.5B$: Y.D/L*L
MNQW@/A/@5 '.N3.X58![[@Q>%:"EFZ5VG;B0"+*8,7I$3*$EFVKH[.MHF:^T
M4$99"2:?IC).+/ZD A#VT$>T2@B#CRKI,5K27#J1$[V7 X_>A2!(FO'W$O1U
M%:)W;]ZC-R@MT)>$[CDI8CXSA5REFLM<5RNZ+E=D/[,B!]W00B0<144,<4]\
M.!SO#\2;,CMUBNRG%%W;@X1_[(L+Y%@?D&W93L]ZEN>'VWUR?F[VZ'_/?I(,
MI_:+H_G<9_B^4$$RQ!N&6#<- 8^J#7V[7O+ZFE<=7X>%8_ER28=F*KL@&[ON
M*2CL@CS':S%%79#K8[\&G8AW:_'NH/@EY0+1#5J1##CZ^P;R>V#_](D=Y%&'
M_R7?D37,#7FZ<V ',!9O?\&^]:G/7V.2A6.212.1G6R&5V^&]TI.+'F]AC6P
MY[>,V(/!;1]V,79@M6S8@_&L?A?ZM7!_4/B=3"5AZP3)\Q6%<) O^YU\=0L4
ME9('C3E(_5)CCDD6CDD6C41VLC]!O3_!*QDSZ)C%G;0,M>QB'-S"A%U,$ 0M
M8W8Q?N#U&W-2"Y\,"E_)ZUY:;+4O;PA[ *%ZY[ARD/>EKAR3+!R3+!J)[&1S
MIO7F3%_)E=/N$3;%+5=V,7C2.E+#+L9M8Z(>#+;[78FM'U=<:U#ZKU  D^*5
M+Z]B>8E.N6!$%2AGF7.8_:7N')4M')4M&HOM=)\:I0A^)8M6Q*?W1L=KF;0'
MA3VG_5;O03D3/&T9M0]E!].65<U&898#V^J*F$M9^T*4=^YZM*ZZKW2MV1J_
MQI=+W#,>JBI=%X(_Z,L27Q[ V[3@*(.-G,JZ".2/BI55<]D1=*?+PGLJ9)&I
MFPF0&)@"R.<;*DO#JJ,FJ/^[6'P'4$L#!!0    ( '.$ U?[</KD*0(  -T$
M   9    >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;(U444_;,!#^*Z<\;1*K
MTX2Q#:61: &-24Q5R[9GDUP:"\?N[ LI_Q[;2;.N K:7V'>^[_-WESMGG38/
MMD8DV#52V5E4$VW/&;-%C0VW$[U%Y4XJ;1I.SC0;9K<&>1E C61)')^QA@L5
MY5GP+4V>Z9:D4+@T8-NFX>9ICE)WLV@:[1TKL:G).UB>;?D&UT@_MDOC+#:R
ME*)!98568+":11?3\T7JXT/ 3X&=/=B#S^1>ZP=OW)2S*/:"4&)!GH&[Y1$7
M**4G<C)^#YS1>*4''N[W[-<A=Y?+/;>XT/*7**F>19\C*+'BK:25[K[BD,]'
MSU=H:<,7NB$VCJ!H+>EF #L%C5#]RG=#'0X CN=E0#( DF/ Z2N = "$RK%>
M64CKDA//,Z,[,#[:L?E-J$U NVR$\G]Q3<:="H>C_+LFA.D9?( ;5>@&X8[O
MT,*[2R0NI(4[W%'+Y?N,D;O-8U@Q,,][YN05YA1NM:+:PI4JL?P;SYS*46JR
MESI/WB3\UJH)I/$))'&2OJ!G\?_PY TYZ5BY-/"=OL)W5548>O"@<K#BKIPK
M++0JA!3<=^H)<()K+-%P"6OBU)(V3\>@$UBB*5#12X7NA7P)0OQ8/N;Q))EF
M[/$P^W\$]3FR@TYIT&S" %DH=*NH_Q.C=YS1B]":1_ZYF]U^U/[0](-_R\U&
M* L2*T<93SZYSC?],/4&Z6WHQWM-KKO#MG;O#QH?X,XK[7IR,/P%XXN6/P-0
M2P,$%     @ <X0#5UVV)9+S 0  _0,  !D   !X;"]W;W)K<VAE971S+W-H
M965T-S0N>&UL?5-9;]LP#/XK@I\V8(L<>UF'PC'0M#LZH$.0['A6;-H6JL.3
MZ#C[]]/A>!G0]L46)7X'1:H8M7FT'0"2DQ3*KI,.L;^FU%8=2&87N@?E3AIM
M)$,7FI;:W@"K T@*FJ7I>RH95TE9A+VM*0L]H. *MH;804IF_FQ Z'&=+)/S
MQHZW'?H-6A8]:V$/^*/?&A?1F:7F$I3E6A$#S3JY65YO<I\?$GYR&.W%FOA*
M#EH_^N"^7B>I-P0"*O0,S/V.< M">")GX_?$F<R2'GBY/K-_"K6[6@[,PJT6
MOWB-W3KYD) :&C8(W.GQ"TSUK#Q?I84-7S+&W)53K :+6DY@%TNNXI^=IGNX
M #B>IP'9!,B"[R@47-XQ9&5A]$B,SW9L?A%*#6AGCBO?E#T:=\H=#LMO&H$L
MK\A;\AET:UC?\8K<J]AM?VVO[@ 9%Y9\AQ,.3+PN*#I=CZ;5I+&)&MDS&CEY
MT H[2SZJ&NK_\=3YG4UG9].;[$7"KX-:D#Q]0[(TRU_@R^=+R /?N^<N89 '
M,$0W9 >]-L@. L@>6C=\:)^J-]*M IT?^V.Y+.CQT@&]:(D$TX;!LZ32@\+8
MG7EWGNV;V-)_Z?%A/##3<F6)@,9!T\65TS5QV&* N@\-/FATXQ*6G7N?8'R"
M.V^T:_(4>('YQ9=_ 5!+ P04    " !SA -7JAU 4U4#  "+#0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970W-2YX;6RM5VUOFSH8_2L6FZXV:2MO!D)O$BD-
M;,N55E5->O?939X$-+ SVTFV?S\;*#<!BKI;OB38G'/L\_C$L<<GQK^+!$"B
MGWE&Q<1(I-Q?FZ98)Y 3<<7V0-6;+>,YD:K)=Z;8<R";@I1GIF-9OIF3E!K3
M<=%WQZ=C=I!92N&.(W'(<\)_W4#&3A/#-IXZ[M-=(G6'.1WOR0Z6(!_V=URU
MS%IED^9 1<HHXK"=&#/[.@XUO@#\F\))G#TC[>21L>^ZL=A,#$M/"#)82ZU
MU-<1YI!E6DA-XT>E:=1#:N+Y\Y/ZI\*[\O)(!,Q9]BW=R&1BC RT@2TY9/*>
MG;Y Y<?3>FN6B>(3G2JL9:#U04B65V0U@SREY3?Y6=7AC*!TN@E.17":!/P,
MP:T([DM'P!4!OW0$KR(4ULW2>U&XB$@R'7-V0ERCE9I^**I?L%6]4JISLI1<
MO4T53TYOF01D!^@C^@QLQ\D^2==H0<L ZI7\B.[A"/0 %[V/O\[Q][#3G>\B
MD"3-Q'M%>EA&Z-W;]^@M2BE:)>P@"-V(L2G5G/7(YKJ:WTTY/^>9^;GH*Z,R
M$2BF&]AT\*-^OM_#-U6MZH(Y3P6[<7H%_SG0*^1:'Y!C.6['?.8OISM==EXW
M>OR_1[\HAENGQRWT\#-Z530^( JR:VU+ME^P]8YUG&+;M[VQ>3RO6!OE.4X8
M7J*B-BK$/FYHQ6V4;6$/6S7LPB>N?>)>GP^WBU4<H>5JMHJ7749[Z7JOOQ9[
MLH:)H39S ?P(QO2O-[9O_=V5H"'%HB'%XH'$+M; J]? >U762K9WMO).8#F-
MJ+5!MHV#1M+:H-#&=B-H;9 ;6%YWS/S:HM]K<35;?)O==IGKY?UIOH84BX84
MBP<2NRA^4!<_>%6^@O:"8R=HQ&+>@0H<J[%+16U4X/M>(X=Q&^7C<(2[,S:J
M;8YZ;<Z_+&YG7?YZ:7\:L2'%HB'%XH'$+FH?UK4/7Q6QL/UWZ>/F%M8&V6[8
MVL/:J-&H"8K;(-<;>78C8.;9Z3('OBN.]0*MV8'*\JA0]]8WAUEQ8&[TW]C7
M<[NC/U(WC?)B\)]\>4WY2O@NI0)EL%5#65>!^C'P\NA?-B3;%V?;1R;52;EX
M3-1M";@&J/=;ILZW54,/4-^_IK\!4$L#!!0    ( '.$ U<!%1/8MP(  ,H(
M   9    >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;*U6:V^;,!3]*Q:KIDY:
MRS- .X*4)MV::8NJ)ET_.W 3K )FMI.T_WXV4$02BE:U7\"/>P[GW N^!#O*
M'GD"(-!3EN9\J"5"%)>ZSJ,$,LS/:0&YW%E1EF$AIVRM\X(!CDM0ENJ68;AZ
MADFNA4&Y=LO"@&Y$2G*X98AOL@RSYRM(Z6ZHF=K+PAU9)T(MZ&%0X#7,0=P7
MMTS.](8E)AGDG- <,5@-M9%Y.?95?!GPA\".M\9(.5E2^J@FTWBH&4H0I! )
MQ8#E;0MC2%-%)&7\K3FUYI$*V!Z_L'\OO4LO2\QA3-,'$HMDJ/D:BF&%-ZFX
MH[L;J/T,%%]$4UY>T:Z.-304;;B@60V6"C*25W?\5.>A!3"=5P!6#;#^%V#7
M +LT6BDK;4VPP&' Z XQ%2W9U*#,38F6;DBNJC@73.X2B1/AC I IH?.T ^@
M:X:+A$1HFE>OA\KS&1IQ+M^F]MKRN1U]!VNU>#H!@4G*OTC(_7R"3D^^H!-$
M<K1(Z(;C/.:!+J1B]5P]JM5=5>JL5]3]W.3GR#:^(LNP[ [XN!\^@4C"S1)N
M[<-UF:<F65:3+*OD<U[A^T7S]5DJ7[L889643D<5A5M2J&]H&UJFZ1M&H&_;
MRCO"+,<S[29L3Z'=*+1[%=[/IHOK"9HO1HOK>9>Z7K@Z,BYY@2,8:O),X,"V
MH(6?/YFN\:TK^Q]$MN?4:9PZ[Z]%13%H)=ES76-P4(KC*%DNQ^^NQ*#1-^C5
MMQA-'T:S+E&]N+>6X(/(]BRZC47W_25PCY+K>(9A'93@.&I@>)[770*OT>?U
MZAO?3&>C+DV]L+=6X(/(]ASZC4/__17PCTX:WS<O[(,*'$==V+Y_^!'HK4ZC
MNOQOS-8DYRB%E<09YYXL(:LZ9S41M"B;SY(*V<K*82)_-H"I +F_HK(!U1/5
MSYK?E_ ?4$L#!!0    ( '.$ U?"!%*>&0(  $\$   9    >&PO=V]R:W-H
M965T<R]S:&5E=#<W+GAM;)54RV[;,!#\E8600P*DUL-)F@:R #]0M$"=&G'<
M'HH>:&DM$Z%(EZ0M^^^[I!1!;>-#+^(NN3.:62V5UDJ_F"VBA6,EI!D%6VMW
M#V%H\BU6S S4#B6=;)2NF*54EZ'9:62%!U4B3*+H+JP8ET&6^KV%SE*UMX)+
M7&@P^ZIB^C1!H>I1$ >O&T^\W%JW$6;ICI6X1+O:+31E8<=2\ JEX4J"QLTH
M&,</DZ&K]P7?.-:F%X-SLE;JQ26?BU$0.4$H,+>.@=%RP"D*X8A(QJ^6,^A>
MZ8#]^)7]H_=.7M;,X%2)[[RPVU%P'T"!&[87]DG5G[#U<^OX<B6,?T+=UD8!
MY'MC5=6"24'%9;.R8]N''B!)S@"2%I!XW<V+O,H9LRQ+M:I!NVIB<X&WZM$D
MCDOW4996TRDGG,T>E46([^$=3)6T7)8H<XX&+F=H&1<&GO%H]TQ<4<4794RO
M['0-7]>"E\RWE^8#EDP0E,D"5@;AF1WAQQRK->J?< %<PIP+0;4F#2U)=P+"
MO)4Y:60F9V2.]^4 H@_7D$1)#*OE#"XOKOZD"<EY9S_I[">>]^8,[[^6%M00
M2IGHF7M+;\-[YWG=Y!^R. T/;T@9=E*&_R4%QGFNJ?,DB9WH&M@WV]9PQG%/
M1S2X^4M)V)L/=]7F3)=<&A"X(50T>'\;@&[&MTFLVOF162M+ ^C#+=UXU*Z
MSC>*NM0F;@J[?TCV&U!+ P04    " !SA -7:KF2 2("  !*!   &0   'AL
M+W=O<FMS:&5E=',O<VAE970W."YX;6Q]5.]OFS 0_5=.K)I:J0L_LF1=!DAK
MLFF=FBI*VNW#M \&CF#58&J;D$K[XV<;BC*MR1?PV??>O8?O"%LN'F6!J&!?
MLDI&3J%4/7-=F198$CGB-5;Z).>B)$J'8NO*6B#)+*AD;N!Y4[<DM'+BT.ZM
M1!SR1C%:X4J ;,J2B.=K9+R-'-]YV5C3;:',AAN'-=GB!M5#O1(Z<@>6C)98
M2<HK$)A'SF=_=CTV^3;A!\56'JS!.$DX?S3!318YGA&$#%-E&(A^[7".C!DB
M+>.IYW2&D@9XN'YA_VJ]:R\)D3CG["?-5!$Y5PYDF).&J35OOV'O9V+X4LZD
M?4+;Y4XG#J2-5+SLP5I!2:ON3?;]=S@ !,$10- # JN[*V15+H@B<2AX"\)D
M:S:SL%8M6HNCE;F4C1+ZE&J<BN^X0O _PCO8-(G$IP8K!5]V^BGA?(&*4";A
M'O>J(>P"SH!6L*2,Z0\J0U=I 8;&3?MBUUVQX$BQ[PT;@3^^A, +QO"P6<#Y
MV<6_-*[6/Y@(!A.!Y7U_A'=^<P]W7*@B$33;(LP%9E1=PNWM''XML4Q0_(8_
M_SD<SEYS<K*B&969K$F*D:-G0:+8H1._?>-/O4\G_(P'/^.3?M98D^?2W@'/
M88&)>DUAQ^%W-VN&;Q=/1E>ANSNL[!ZTAIFR)1%;6DE@F&N4-_J@^U)TG=L%
MBM>V6Q*N=._99:&''85)T.<YUQW3!Z8!A]]'_!=02P,$%     @ <X0#5_,3
MX"]E P  #!8   T   !X;"]S='EL97,N>&ULW5CM3MLP%'V5*(P)I(DTS9HV
MHZVT54*:M$U(\&/_D-LXK27'R1R7M;P/+[(GFZ^=IA_X5H4?@ZX5Q/;Q.?=<
M^R8Q]"NUY/1F1JGR%CD7U<"?*55^"H)J,J,YJ2Z*D@J-9(7,B=)=.0VJ4E*2
M5D#*>=!NM>(@)TSXP[Z8YU>YJKQ),1=JX"?-D&<O7].!'\8??<_*C8J4#OR[
ML_>_YH6Z?.?9Z\F'DY/6W?GE[OB9 <[]P"G:.4#THM7"A0'$Q./#Q/=I8]+=
M;6DS_50+6>(I1NLY:#K*F@D=C)P<E,Z>;!#A;LLM_.<1V=H&V+NWW="=[':V
M:+K=-D)O;=%M]* NX6$_*\2ZDB/?#FA]DE/OGO"!/R*<C24#5D9RQI=VN T#
MDX(7TE/Z%M(!0QBI'BP<VA[<7;5.SD0A36P;P?X>U]-W@%4/##+.&X-MWPX,
M^R51BDIQI3MFLAE\ GEU^W99:H=3299AN^.O">:B@XP+F5+9A G]U="PSVD&
M=B2;SN"JBC( 4*DBUXV4D6DAB/&P8M0-+3NAG-_ H^=GMJ6]R#9VSE23:)K:
M4-VT,K8#^IMJ5GM3MO,B7:]D]X7Z,M?I"-.'.J77DF9L8?J+K#& J8>X.BE+
MOOS,V53DU"9_<,!AGZQXWJR0[$%'@U*9Z $J?>^>2L4FFR._)2EOZ4*MRFF1
MX9[;1^CYWZ[SE HJ"=\TK6O_+:_RBQU'W=>R;)XJNX:='NOSQ%LWV3D&D_$Q
MF#R*FNP=@\GD"$QV7^VI^1R3X3&8;+])DT%]7MLX%&X="9M1#X[> _\''.7Y
M.J@WGC.NF*A[,Y:F5#PY&6IY1<;Z3]TM?3T_I1F9<W7;@ -_W?Y.4S;/DV;6
M-2Q$/6O=_@;IA7%S[M>QF$CI@J:CNBNG8]/T=$-'K3] V$6NS,>-8!R+N1'
ML#B8 XQC65B<_RF?'IJ/Q3!O/2?20SD]E&-9+F1DOE@<-R?1'W>F21)%<8RM
MZ&CD=##"UBV.X<>MAGD#!A8'(CUOK?'=QBMD?QU@>[JO0K!,\4K$,L77&A#W
MN@$C2=R[C<4!!K8+6.U ?'<<J"DW)XI@5S%OV!V,(TF"(5"+[AJ-8V1U8OBZ
M]P>[2Z(H2=P(8&X'480A<#?B".8 /&!(%)GWX,[[*%B]IX+U_W^'?P%02P,$
M%     @ <X0#5Y>*NQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q
M?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\$MP>:4#M.*2V
MBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y +AEFM[UD%J=S
MI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YV
MX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)
M#^Q^ %!+ P04    " !SA -75/$+9;$%   I-   #P   'AL+W=O<FMB;V]K
M+GAM;,6;6T\;.Q" _XJ5IU:"D^P=$$%JN?0@<6C4(%XKLW$2JQL[V+M<^NL[
MWHAB QZ=ETQ>2/:2S9=9V]^,UQP_:O/K3NM?[&G5*#L>+-MV?30<VGHI5MS^
MH]="P9&Y-BO>PJ99#.W:"#ZS2R':53-,1Z-RN.)2#4Z.7ZXU,4-_0[>B;J56
ML-/MN)7BT;X>=YOL05IY)QO9/H\'_?M&#-A**KF2O\5L/!@-F%WJQW^UD;^U
M:GDSK8UNFO$@V1RX%::5];O=4P=YP^]LOZ?E=S\X@(P'Y0@N.)?&MOT9_?4Y
M,#X(.'FSU;7Z0C:M,&>\%=^,[M92+=QEX%<,O9_1Q^'E=1/$(_-_PJCG<UF+
M,UUW*Z':31R-:!R@LDNYM@.F^$J,!R^GL"]JQLY5"T%BEVIS*3C7_5+XZLO9
MYE>W@.O%T!Q).& N9SWX]B!/M9H)9<6,P3NK&SD#CAG[RANN:L$\R!2!3'<(
M^3/U(#,$,ML)Y-3AP$<]R!R!S'<(&42R0""+74)F'F2)0):[A,P]R J!K+8+
M>0U#.$O8/CL3MC9R[4Y@>LZ^=E8J83W( P3R@  R!<BI7"@)'^)NS*QKW<&8
MJ18>Y"$">4@ F0'D#_$@5"?@M=: ^W8D'V%#^8B ,0?&*\%M<'<3U#!;5DR/
M50#6*;?+O?XO.[_OY -OX(,!)N:89,N2Z3%+P#SG1D&[L^S3E;;V,YL(PZ9+
M'Q.S3+)ES?28%6!>*FB(+216X9W&Y))LV2X]VP&P0>ZXALSN>8]-&M>;N<N
M[GU,3"_)EOW28Q[V(6RY6KAO9U^LA71PCUV+UL?$!)-LV3";P7L$G!=<&G;+
M&QAV8/"^D K2'NEC8HI)2!SC)./>63;AS]Q%U-WSJW!PQ"234%@F<9H!7S^X
MLL-!3H62V@"YCXEI)J'P3.)$ P8T'6045Y+W%5;8SU-,-"F%:!)GFN_M$D;'
M2U7KU>:.GS^MA8^)B2>E$$_BS#-=<B/V[_@F75O!-2WW^WF*%C<4XDG*?CSJ
MXWC#G\)[C?DFI?!-XH3S3>B%X>NEK+TRUL?$U)-2J"<YV'1OES8*&"+#*&+*
M22F4DSCG3+L[*^X[-R]P_O F_TDQW:1;ULW'V3>;0&GS-I*8;E(*W402<?;I
MQL?$=)-2Z.8U%P<R)T7[V>?#/)-2>":6E(=3*IAI,@K3Q)+R$!,S349AFC=)
M^4>W/,,\DU%X)I:=A[%$I]$HA!/+SD-,3#@9B7 B:6^(B8DG(Q%/).T-,3'Y
M9"2U3B3M99]\3$P^&4FM$TE\PVAB\LE(:IU(XAMB8@[*2&J=2&H98.:8@W*2
M:B<RB1IB8@[**1P438S.?$S,0CF%A6*8^_X#IQRS4$YA(3]_.Q,MEXUE-^*I
M[;B/B3[.H;"0A[G?]W*M7&$!;=3'Q"R44U@HP/R/MYW9C.XA)F:AG,)"T:38
M?_"48Q;**2P4Q?0?/>68A7(*"T5S]R":F(5R"@M%,?UH%IB%"@H+O2LQ_HY*
M/B9FH6(7E=#KEH^)6:C8:2WDM\T"LU!!8:$H9M V,0L5%!:*EFQ!--%E!;M\
M[A-&$[-006&A*&;A8V(6*DAJH<CCJ7 I"6:A@J06BM7I0=O$+%20U$(Q3+]M
MEIB%2I):*(;IM\T2LU!)\N0GAEGZF)B%2I(G/[')F6"A$V:ADN014 PS:)N8
MA4J2&;D89M V,0N5)#-RL:FN?1\37=Y&,B,7F^H*VB9FH9+$0K&IK@ 3LU"Y
MTQFYH MA%BI)+!3#]+M0A5FH(K%0#-,?WBO,0M4NUQ_\K'Q,S$+53M8?_*TM
M?4S,0M4N%R($/;W"+%216"B&&:P+QBQ4D5@HAAGT=,Q"%8F%WBWK>&F</B:Z
MS)K$0A\N[W"H/B9FH:JWT+ _V9X<S\1<*C&[AJ^PL+_F33TQS+WTR]32O'!+
MU>9=TYS"ON_J2O/9RW^ZO/R7SLD?4$L#!!0    ( '.$ U=Z! -=7 (  "$N
M   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDMNHT 4A>&M6"P@
MN.ZKG%:<44\R;64#R"D_%-L@H-7)[MMR!O9!/>A)Q!FA G'Y1Y]0P=.O<FS&
M0WL>]H=N6'R<CN=A7>W'L?M1U\-F7T[-\-!VY7RYLFW[4S->EOVN[IK->[,K
MM2R74??W,ZKGI_N9B]?/KOS/Q':[/6S*SW;S^U3.XS\&UW_:_GW8ES)6B]>F
MWY5Q7=4?Q]OIH;X>TL-E<K5X>5M7_<M;JNJY@P2"9/X@A2"=/\@@R.8/<@CR
M^8,"@F+^H Q!>?Z@%02MY@]ZA*#'^8/2$F5<$B1-L";0.B'7B<#KA& G K$3
MDIT(S$Z(=B)0.R';B<#MA' G KD3TIT([$Z(=R+06U!O(=!;4&\AT%LF+]L$
M>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z*^JM!'HKZJT$
M>BOJK01ZZV2SA$!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O0[V-
M0&]#O8U ;T.]C4!O0[V-0&^;;'83Z&VHMQ'H;:BW$>AMJ+<1Z&VHMQ'H;:BW
M$>CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H[9./E01Z.^KM!'H[ZNT$>COJ
M[01Z.^KM!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'K'Y&<3 KT#
M]0X"O0/U#@*] _4. KTSZIT)],ZH=R;0.Z/>F4#OC'IG KTSZIT)],ZH=R;0
M.Z/>F4#O//E9D$#OC'KG[]1[&#^/9;CU?*WQ^=])]7BYM]P>?UU^G40)5U><
MZ_N*X?DO4$L#!!0    ( '.$ U<N* K8%0(  /PL   3    6T-O;G1E;G1?
M5'EP97-=+GAM;,W:WT[;,!0&\%>I<HL:U_\W1+D!;C<N]@)><MI&36++-JR\
M_9P4D#:Q"E2D?3>-6MOG._&1?E>]^O$4*"T.0S^F=;7+.5PREIH=#2[5/M!8
M5C8^#BZ7KW'+@FOV;DM,K%:&-7[,-.9EGFI4UU>WM'$/?5[<'<K/J?/CNHK4
MIVIQ<]PX9:TK%T+?-2Z7=?8XMG^E+)\3ZG)RWI-V74@794/%WDR85OX=\'SN
M^R/%V+6TN'<Q?W-#V<4./4OYJ:=4GR[Q1H]^L^D::GWS,)0C=0J17)MV1'GH
MZV/1B]/)N=PP'3_YV?ESF5.!9>=]]"&5B47Z>-S+2*;3RU *4<S=Z5=\32RE
MSWX_FJ;=4OO.['*]OWS<S_-(;'Z<?\=_SOBU_@?[$"!]2) ^%$@?&J0/ ]*'
M!>GC"T@?7T'ZX"N41E!$Y2BD<A13.0JJ'$55CL(J1W&5H\#*4605*+(*%%D%
MBJP"15:!(JM D56@R"I09!4HL@H4626*K!)%5HDBJT215:+(*E%DE2BR2A19
M)8JL$D56A2*K0I%5H<BJ4&15*+(J%%D5BJP*15:%(JM"D56CR*I19-4HLFH4
M636*K!I%5HTBJT:15:/(JE%D-2BR&A19#8JL!D56@R*K09'5H,AJ4&0U*+(:
M%%DMBJP615:+(JM%D=6BR&I19+4HLEH46>W_E/6G]_M/CI^?]>"Z\26?S7]Z
MOOX-4$L! A0#%     @ <X0#5P=!36*!    L0   !               ( !
M     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " !SA -7%.HKW.\    K
M @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M    " !SA -7F5R<(Q &  "<)P  $P              @ '- 0  >&PO=&AE
M;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( '.$ U?(. VKX 4  /4>   8
M          " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M    " !SA -7F"5F&S4'  #-'0  &               @($D#@  >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ <X0#5Q9'Q\&J @  .@<
M !@              ("!CQ4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+
M 0(4 Q0    ( '.$ U<]KLD]*@8  ,L=   8              " @6\8  !X
M;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " !SA -7PK9&H-P"
M  !0"   &               @('/'@  >&PO=V]R:W-H965T<R]S:&5E=#4N
M>&UL4$L! A0#%     @ <X0#5RO.YJ[O"   @D,  !@              ("!
MX2$  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( '.$ U<6
M MN$X@@  %4H   8              " @08K  !X;"]W;W)K<VAE971S+W-H
M965T-RYX;6Q02P$"% ,4    " !SA -7+,E3J-D&  !)$   &
M    @($>-   >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @
M<X0#5_7N@\YF @  B@4  !@              ("!+3L  'AL+W=O<FMS:&5E
M=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( '.$ U<7(K#AJ00  $P*   9
M          " @<D]  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#
M%     @ <X0#5ZU@F,_J!   80P  !D              ("!J4(  'AL+W=O
M<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " !SA -7!I@,W2T#   @
M!P  &0              @('*1P  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM
M;%!+ 0(4 Q0    ( '.$ U<,W.C 3 0  #@+   9              " @2Y+
M  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ <X0#5W'G
M12'G @  = 8  !D              ("!L4\  'AL+W=O<FMS:&5E=',O<VAE
M970Q-"YX;6Q02P$"% ,4    " !SA -7T8XKVU4$  !("0  &0
M    @('/4@  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    (
M '.$ U=Y2LVT. ,  ($'   9              " @5M7  !X;"]W;W)K<VAE
M971S+W-H965T,38N>&UL4$L! A0#%     @ <X0#5\A9"H18 P  ;0<  !D
M             ("!REH  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"
M% ,4    " !SA -7E!GE\:4$  "?"@  &0              @(%97@  >&PO
M=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( '.$ U>@R[BR> 8
M !</   9              " @35C  !X;"]W;W)K<VAE971S+W-H965T,3DN
M>&UL4$L! A0#%     @ <X0#5]"0OB\O P  S 8  !D              ("!
MY&D  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " !SA -7
M^!N#GAL#  "9!@  &0              @(%*;0  >&PO=V]R:W-H965T<R]S
M:&5E=#(Q+GAM;%!+ 0(4 Q0    ( '.$ U>&4QL'008  +40   9
M      " @9QP  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%
M  @ <X0#5TG];$TP P  QP8  !D              ("!%'<  'AL+W=O<FMS
M:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " !SA -7F8_1,,(#   /"
M&0              @(%[>@  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+
M 0(4 Q0    ( '.$ U?.E-HEC@(  )P%   9              " @71^  !X
M;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ <X0#5S?[#:HE
M @  VP0  !D              ("!.8$  'AL+W=O<FMS:&5E=',O<VAE970R
M-BYX;6Q02P$"% ,4    " !SA -7#9UJ&E("  !2!0  &0
M@(&5@P  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( '.$
M U?QB*8L&@,  .T&   9              " @1Z&  !X;"]W;W)K<VAE971S
M+W-H965T,C@N>&UL4$L! A0#%     @ <X0#5R!FP"_$ P  M0D  !D
M         ("!;XD  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4
M    " !SA -7.#P<=),"  "\!0  &0              @(%JC0  >&PO=V]R
M:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( '.$ U<++FL6<0,  /,(
M   9              " @320  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL
M4$L! A0#%     @ <X0#5Y3/X_.. @  =@4  !D              ("!W),
M 'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " !SA -7ZDV0
M1"P#  #!!@  &0              @(&AE@  >&PO=V]R:W-H965T<R]S:&5E
M=#,S+GAM;%!+ 0(4 Q0    ( '.$ U>P+-.] P,  )L'   9
M  " @02:  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @
M<X0#5V9[Q;"H P  2@@  !D              ("!/IT  'AL+W=O<FMS:&5E
M=',O<VAE970S-2YX;6Q02P$"% ,4    " !SA -7)H/_*@8#   R!P  &0
M            @($=H0  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4
M Q0    ( '.$ U=T#+;QW@(  #4&   9              " @5JD  !X;"]W
M;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ <X0#5\(.M>'L @
M* 8  !D              ("!;Z<  'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6Q02P$"% ,4    " !SA -7H >0M_<$  #=#@  &0              @(&2
MJ@  >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( '.$ U=(
M [C6,0,  (D'   9              " @<"O  !X;"]W;W)K<VAE971S+W-H
M965T-# N>&UL4$L! A0#%     @ <X0#5TBX4.C: @  . <  !D
M     ("!*+,  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4
M" !SA -75B!SVK,"  "!"   &0              @($YM@  >&PO=V]R:W-H
M965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( '.$ U<<616KI00  $L8   9
M              " @2.Y  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L!
M A0#%     @ <X0#5R':H=#  @  JP@  !D              ("!_[T  'AL
M+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " !SA -7N"@Q@A@$
M  !7$@  &0              @('VP   >&PO=V]R:W-H965T<R]S:&5E=#0U
M+GAM;%!+ 0(4 Q0    ( '.$ U<#E?I*+ ,  ! ,   9              "
M@47%  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ <X0#
M5\PLE$OE @  50D  !D              ("!J,@  'AL+W=O<FMS:&5E=',O
M<VAE970T-RYX;6Q02P$"% ,4    " !SA -7]DS= &,"  #D!0  &0
M        @('$RP  >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0
M   ( '.$ U?>,:Y<'P,  &L*   9              " @5[.  !X;"]W;W)K
M<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ <X0#5VX%3#^' P  LPX
M !D              ("!M-$  'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q0
M2P$"% ,4    " !SA -7K^:N1(@"   O!P  &0              @(%RU0
M>&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( '.$ U>MW*1N
M8@(  /L%   9              " @3'8  !X;"]W;W)K<VAE971S+W-H965T
M-3(N>&UL4$L! A0#%     @ <X0#5Y45GK+< @  ]@@  !D
M ("!RMH  'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " !S
MA -7P8C XCP$   I%   &0              @('=W0  >&PO=V]R:W-H965T
M<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( '.$ U?B?9<7L@(  /T'   9
M          " @5#B  !X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#
M%     @ <X0#5_!S'$,: P  B0L  !D              ("!.>4  'AL+W=O
M<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    " !SA -7,R8AQ:,"  "<
M"   &0              @(&*Z   >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM
M;%!+ 0(4 Q0    ( '.$ U<B?P*K.0(   P%   9              " @63K
M  !X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ <X0#5\<[
M:\D3!P  WCX  !D              ("!U.T  'AL+W=O<FMS:&5E=',O<VAE
M970U.2YX;6Q02P$"% ,4    " !SA -70)OJH-T#  !##0  &0
M    @($>]0  >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    (
M '.$ U<0UR0%O00   \:   9              " @3+Y  !X;"]W;W)K<VAE
M971S+W-H965T-C$N>&UL4$L! A0#%     @ <X0#5[_2VGY4 @  T04  !D
M             ("!)OX  'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"
M% ,4    " !SA -7N0HIVJ<$  !E%P  &0              @(&Q  $ >&PO
M=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( '.$ U>,6D<.I (
M /4&   9              " @8\% 0!X;"]W;W)K<VAE971S+W-H965T-C0N
M>&UL4$L! A0#%     @ <X0#5P>M->E5 P  )@P  !D              ("!
M:@@! 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " !SA -7
M['MQ[0H#  #="0  &0              @('V"P$ >&PO=V]R:W-H965T<R]S
M:&5E=#8V+GAM;%!+ 0(4 Q0    ( '.$ U<KCW;\+P,  ",*   9
M      " @3</ 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%
M  @ <X0#5^Q+2&_S!0  1RD  !D              ("!G1(! 'AL+W=O<FMS
M:&5E=',O<VAE970V."YX;6Q02P$"% ,4    " !SA -7((3*K98$  #5&
M&0              @(''& $ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+
M 0(4 Q0    ( '.$ U?>=J&0O ,  )</   9              " @90= 0!X
M;"]W;W)K<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ <X0#5WY -#'>
M P  K@\  !D              ("!AR$! 'AL+W=O<FMS:&5E=',O<VAE970W
M,2YX;6Q02P$"% ,4    " !SA -7*-9DAZX#  #'$   &0
M@(&<)0$ >&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( '.$
M U?[</KD*0(  -T$   9              " @8$I 0!X;"]W;W)K<VAE971S
M+W-H965T-S,N>&UL4$L! A0#%     @ <X0#5UVV)9+S 0  _0,  !D
M         ("!X2L! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4
M    " !SA -7JAU 4U4#  "+#0  &0              @($++@$ >&PO=V]R
M:W-H965T<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( '.$ U<!%1/8MP(  ,H(
M   9              " @9<Q 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL
M4$L! A0#%     @ <X0#5\($4IX9 @  3P0  !D              ("!A30!
M 'AL+W=O<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    " !SA -7:KF2
M 2("  !*!   &0              @('5-@$ >&PO=V]R:W-H965T<R]S:&5E
M=#<X+GAM;%!+ 0(4 Q0    ( '.$ U?S$^ O90,   P6   -
M  "  2XY 0!X;"]S='EL97,N>&UL4$L! A0#%     @ <X0#5Y>*NQS
M$P(   L              ( !OCP! %]R96QS+RYR96QS4$L! A0#%     @
M<X0#5U3Q"V6Q!0  *30   \              ( !IST! 'AL+W=O<FMB;V]K
M+GAM;%!+ 0(4 Q0    ( '.$ U=Z! -=7 (  "$N   :              "
M 85# 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( '.$
M U<N* K8%0(  /PL   3              "  1E& 0!;0V]N=&5N=%]4>7!E
<<UTN>&UL4$L%!@    !6 %8 D1<  %]( 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<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>91
<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>92
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>215</ContextCount>
  <ElementCount>333</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>59</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Current Period Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Disclosure - Note 1 - Description of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-1-description-of-business</Role>
      <ShortName>Note 1 - Description of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 2 - Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies</Role>
      <ShortName>Note 2 - Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 3 - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition</Role>
      <ShortName>Note 3 - Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 4 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-4-leases</Role>
      <ShortName>Note 4 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash</Role>
      <ShortName>Note 5 - Cash, Cash Equivalents and Restricted Cash</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 6 - Earnings (Loss) Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share</Role>
      <ShortName>Note 6 - Earnings (Loss) Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 7 - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-7-inventories</Role>
      <ShortName>Note 7 - Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 8 - Property, Plant and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment</Role>
      <ShortName>Note 8 - Property, Plant and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 9 - Intangible Assets, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net</Role>
      <ShortName>Note 9 - Intangible Assets, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 10 - Fair Value of Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments</Role>
      <ShortName>Note 10 - Fair Value of Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 11 - Notes Payable and Long-term Debt</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt</Role>
      <ShortName>Note 11 - Notes Payable and Long-term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 12 - Convertible Senior Notes</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes</Role>
      <ShortName>Note 12 - Convertible Senior Notes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 13 - Accrued Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities</Role>
      <ShortName>Note 13 - Accrued Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 14 - Other Income and Expense</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense</Role>
      <ShortName>Note 14 - Other Income and Expense</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 15 - Share-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation</Role>
      <ShortName>Note 15 - Share-based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Note 16 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-16-income-taxes</Role>
      <ShortName>Note 16 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Note 17 - Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-17-geographic-information</Role>
      <ShortName>Note 17 - Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 18 - Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-18-contingencies</Role>
      <ShortName>Note 18 - Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 19 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-19-subsequent-events</Role>
      <ShortName>Note 19 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 3 - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables</Role>
      <ShortName>Note 3 - Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Note 4 - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-4-leases-tables</Role>
      <ShortName>Note 4 - Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-4-leases</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables</Role>
      <ShortName>Note 5 - Cash, Cash Equivalents and Restricted Cash (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 6 - Earnings (Loss) Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables</Role>
      <ShortName>Note 6 - Earnings (Loss) Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Note 7 - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-7-inventories-tables</Role>
      <ShortName>Note 7 - Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-7-inventories</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 8 - Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables</Role>
      <ShortName>Note 8 - Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 9 - Intangible Assets, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables</Role>
      <ShortName>Note 9 - Intangible Assets, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 11 - Notes Payable and Long-term Debt (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables</Role>
      <ShortName>Note 11 - Notes Payable and Long-term Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 12 - Convertible Senior Notes (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables</Role>
      <ShortName>Note 12 - Convertible Senior Notes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 13 - Accrued Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables</Role>
      <ShortName>Note 13 - Accrued Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 14 - Other Income and Expense (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables</Role>
      <ShortName>Note 14 - Other Income and Expense (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - Disclosure - Note 15 - Share-based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables</Role>
      <ShortName>Note 15 - Share-based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 17 - Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables</Role>
      <ShortName>Note 17 - Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-17-geographic-information</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 1 - Description of Business (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual</Role>
      <ShortName>Note 1 - Description of Business (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-1-description-of-business</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 3 - Revenue Recognition (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual</Role>
      <ShortName>Note 3 - Revenue Recognition (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details</Role>
      <ShortName>Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>043 - Disclosure - Note 4 - Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual</Role>
      <ShortName>Note 4 - Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-4-leases-tables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>044 - Disclosure - Note 4 - Leases - Components of Lease Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details</Role>
      <ShortName>Note 4 - Leases - Components of Lease Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>045 - Disclosure - Note 4 - Leases - Maturities of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details</Role>
      <ShortName>Note 4 - Leases - Maturities of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>046 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual</Role>
      <ShortName>Note 5 - Cash, Cash Equivalents and Restricted Cash (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>047 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details</Role>
      <ShortName>Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>048 - Disclosure - Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details</Role>
      <ShortName>Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>049 - Disclosure - Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details</Role>
      <ShortName>Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>050 - Disclosure - Note 7 - Inventories (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual</Role>
      <ShortName>Note 7 - Inventories (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-7-inventories-tables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>051 - Disclosure - Note 7 - Inventories - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details</Role>
      <ShortName>Note 7 - Inventories - Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>052 - Disclosure - Note 8 - Property, Plant and Equipment (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual</Role>
      <ShortName>Note 8 - Property, Plant and Equipment (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>053 - Disclosure - Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details</Role>
      <ShortName>Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>054 - Disclosure - Note 9 - Intangible Assets, Net (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual</Role>
      <ShortName>Note 9 - Intangible Assets, Net (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>055 - Disclosure - Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details</Role>
      <ShortName>Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>056 - Disclosure - Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details</Role>
      <ShortName>Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>057 - Disclosure - Note 10 - Fair Value of Financial Instruments (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual</Role>
      <ShortName>Note 10 - Fair Value of Financial Instruments (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>058 - Disclosure - Note 11 - Notes Payable and Long-term Debt (Details Textual)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual</Role>
      <ShortName>Note 11 - Notes Payable and Long-term Debt (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>059 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details</Role>
      <ShortName>Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>060 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals</Role>
      <ShortName>Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>061 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details</Role>
      <ShortName>Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>062 - Disclosure - Note 12 - Convertible Senior Notes (Details Textual)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual</Role>
      <ShortName>Note 12 - Convertible Senior Notes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>063 - Disclosure - Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details</Role>
      <ShortName>Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>064 - Disclosure - Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details</Role>
      <ShortName>Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>065 - Disclosure - Note 13 - Accrued Liabilities - Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details</Role>
      <ShortName>Note 13 - Accrued Liabilities - Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>066 - Disclosure - Note 14 - Other Income and Expense - Other Income and Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details</Role>
      <ShortName>Note 14 - Other Income and Expense - Other Income and Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>067 - Disclosure - Note 15 - Share-based Compensation (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual</Role>
      <ShortName>Note 15 - Share-based Compensation (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>068 - Disclosure - Note 15 - Share-based Compensation - Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details</Role>
      <ShortName>Note 15 - Share-based Compensation - Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>069 - Disclosure - Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details</Role>
      <ShortName>Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>070 - Disclosure - Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details</Role>
      <ShortName>Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>071 - Disclosure - Note 15 - Share-based Compensation - Share-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details</Role>
      <ShortName>Note 15 - Share-based Compensation - Share-based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>072 - Disclosure - Note 16 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual</Role>
      <ShortName>Note 16 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-16-income-taxes</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>073 - Disclosure - Note 17 - Geographic Information (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual</Role>
      <ShortName>Note 17 - Geographic Information (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>074 - Disclosure - Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details</Role>
      <ShortName>Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>075 - Disclosure - Note 17 - Geographic Information - Asset Information by Geographic Region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details</Role>
      <ShortName>Note 17 - Geographic Information - Asset Information by Geographic Region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>076 - Disclosure - Note 18 - Contingencies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual</Role>
      <ShortName>Note 18 - Contingencies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-18-contingencies</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="aaoi20230630_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>077 - Disclosure - Note 19 - Subsequent Events (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual</Role>
      <ShortName>Note 19 - Subsequent Events (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ao-inc.com/20230630/role/statement-note-19-subsequent-events</ParentRole>
      <Position>78</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 46 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityRegistrantName, us-gaap:AllowanceForDoubtfulAccountsReceivable, us-gaap:AmortizationOfIntangibleAssets, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:DebtInstrumentInterestRateStatedPercentage, us-gaap:DebtInstrumentMaturityDate, us-gaap:DebtInstrumentMaturityDateRangeEnd1, us-gaap:DebtInstrumentMaturityDateRangeStart1, us-gaap:DebtInstrumentTerm, us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate, us-gaap:LeaseCost, us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity, us-gaap:NumberOfReportableSegments, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod -  aaoi20230630_10q.htm 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="aaoi20230630_10q.htm">aaoi20230630_10q.htm</File>
    <File>aaoi-20230630.xsd</File>
    <File>aaoi-20230630_cal.xml</File>
    <File>aaoi-20230630_def.xml</File>
    <File>aaoi-20230630_lab.xml</File>
    <File>aaoi-20230630_pre.xml</File>
    <File>ex_536763.htm</File>
    <File>ex_536764.htm</File>
    <File>ex_536765.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="890">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>95
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "aaoi20230630_10q.htm": {
   "axisCustom": 0,
   "axisStandard": 21,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 890,
    "http://xbrl.sec.gov/dei/2023": 29
   },
   "contextCount": 215,
   "dts": {
    "calculationLink": {
     "local": [
      "aaoi-20230630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "aaoi-20230630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "aaoi20230630_10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "aaoi-20230630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "aaoi-20230630_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "aaoi-20230630.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    }
   },
   "elementCount": 497,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2023": 45,
    "http://xbrl.sec.gov/dei/2023": 6,
    "total": 51
   },
   "keyCustom": 30,
   "keyStandard": 303,
   "memberCustom": 23,
   "memberStandard": 33,
   "nsprefix": "aaoi",
   "nsuri": "http://ao-inc.com/20230630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000 - Document - Document And Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://ao-inc.com/20230630/role/statement-document-and-entity-information",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "009 - Disclosure - Note 3 - Revenue Recognition",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition",
     "shortName": "Note 3 - Revenue Recognition",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "010 - Disclosure - Note 4 - Leases",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://ao-inc.com/20230630/role/statement-note-4-leases",
     "shortName": "Note 4 - Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "011 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
     "shortName": "Note 5 - Cash, Cash Equivalents and Restricted Cash",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "012 - Disclosure - Note 6 - Earnings (Loss) Per Share",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share",
     "shortName": "Note 6 - Earnings (Loss) Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "013 - Disclosure - Note 7 - Inventories",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://ao-inc.com/20230630/role/statement-note-7-inventories",
     "shortName": "Note 7 - Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "014 - Disclosure - Note 8 - Property, Plant and Equipment",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment",
     "shortName": "Note 8 - Property, Plant and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "015 - Disclosure - Note 9 - Intangible Assets, Net",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net",
     "shortName": "Note 9 - Intangible Assets, Net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "016 - Disclosure - Note 10 - Fair Value of Financial Instruments",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
     "shortName": "Note 10 - Fair Value of Financial Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "017 - Disclosure - Note 11 - Notes Payable and Long-term Debt",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
     "shortName": "Note 11 - Notes Payable and Long-term Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "aaoi:ConvertibleDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "018 - Disclosure - Note 12 - Convertible Senior Notes",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
     "shortName": "Note 12 - Convertible Senior Notes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "aaoi:ConvertibleDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "001 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited)",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
     "shortName": "Condensed Consolidated Balance Sheets (Current Period Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "019 - Disclosure - Note 13 - Accrued Liabilities",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities",
     "shortName": "Note 13 - Accrued Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "020 - Disclosure - Note 14 - Other Income and Expense",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense",
     "shortName": "Note 14 - Other Income and Expense",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "021 - Disclosure - Note 15 - Share-based Compensation",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
     "shortName": "Note 15 - Share-based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "022 - Disclosure - Note 16 - Income Taxes",
     "menuCat": "Notes",
     "order": "23",
     "role": "http://ao-inc.com/20230630/role/statement-note-16-income-taxes",
     "shortName": "Note 16 - Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "023 - Disclosure - Note 17 - Geographic Information",
     "menuCat": "Notes",
     "order": "24",
     "role": "http://ao-inc.com/20230630/role/statement-note-17-geographic-information",
     "shortName": "Note 17 - Geographic Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "024 - Disclosure - Note 18 - Contingencies",
     "menuCat": "Notes",
     "order": "25",
     "role": "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
     "shortName": "Note 18 - Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "025 - Disclosure - Note 19 - Subsequent Events",
     "menuCat": "Notes",
     "order": "26",
     "role": "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
     "shortName": "Note 19 - Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "026 - Disclosure - Significant Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "27",
     "role": "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies",
     "shortName": "Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "027 - Disclosure - Note 3 - Revenue Recognition (Tables)",
     "menuCat": "Tables",
     "order": "28",
     "role": "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables",
     "shortName": "Note 3 - Revenue Recognition (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "028 - Disclosure - Note 4 - Leases (Tables)",
     "menuCat": "Tables",
     "order": "29",
     "role": "http://ao-inc.com/20230630/role/statement-note-4-leases-tables",
     "shortName": "Note 4 - Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "002 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals",
     "shortName": "Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "029 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash (Tables)",
     "menuCat": "Tables",
     "order": "30",
     "role": "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
     "shortName": "Note 5 - Cash, Cash Equivalents and Restricted Cash (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "030 - Disclosure - Note 6 - Earnings (Loss) Per Share (Tables)",
     "menuCat": "Tables",
     "order": "31",
     "role": "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables",
     "shortName": "Note 6 - Earnings (Loss) Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "031 - Disclosure - Note 7 - Inventories (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables",
     "shortName": "Note 7 - Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "032 - Disclosure - Note 8 - Property, Plant and Equipment (Tables)",
     "menuCat": "Tables",
     "order": "33",
     "role": "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables",
     "shortName": "Note 8 - Property, Plant and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "033 - Disclosure - Note 9 - Intangible Assets, Net (Tables)",
     "menuCat": "Tables",
     "order": "34",
     "role": "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables",
     "shortName": "Note 9 - Intangible Assets, Net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "034 - Disclosure - Note 11 - Notes Payable and Long-term Debt (Tables)",
     "menuCat": "Tables",
     "order": "35",
     "role": "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables",
     "shortName": "Note 11 - Notes Payable and Long-term Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "035 - Disclosure - Note 12 - Convertible Senior Notes (Tables)",
     "menuCat": "Tables",
     "order": "36",
     "role": "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables",
     "shortName": "Note 12 - Convertible Senior Notes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "036 - Disclosure - Note 13 - Accrued Liabilities (Tables)",
     "menuCat": "Tables",
     "order": "37",
     "role": "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables",
     "shortName": "Note 13 - Accrued Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "037 - Disclosure - Note 14 - Other Income and Expense (Tables)",
     "menuCat": "Tables",
     "order": "38",
     "role": "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables",
     "shortName": "Note 14 - Other Income and Expense (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "038 - Disclosure - Note 15 - Share-based Compensation (Tables)",
     "menuCat": "Tables",
     "order": "39",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables",
     "shortName": "Note 15 - Share-based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "039 - Disclosure - Note 17 - Geographic Information (Tables)",
     "menuCat": "Tables",
     "order": "40",
     "role": "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables",
     "shortName": "Note 17 - Geographic Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember",
      "decimals": "-7",
      "first": true,
      "lang": null,
      "name": "us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "040 - Disclosure - Note 1 - Description of Business (Details Textual)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
     "shortName": "Note 1 - Description of Business (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-09-15_CounterpartyNameAxis-YuhanOptoelectronicTechnologyCoLtdMember_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis-ManufacturingFacilitiesInPrcMember",
      "decimals": "-7",
      "first": true,
      "lang": null,
      "name": "us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "041 - Disclosure - Note 3 - Revenue Recognition (Details Textual)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual",
     "shortName": "Note 3 - Revenue Recognition (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-6",
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "042 - Disclosure - Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details",
     "shortName": "Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "0",
      "lang": null,
      "name": "aaoi:PercentageOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LeaseCost",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "043 - Disclosure - Note 4 - Leases (Details Textual)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual",
     "shortName": "Note 4 - Leases (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:LeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "044 - Disclosure - Note 4 - Leases - Components of Lease Expense (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details",
     "shortName": "Note 4 - Leases - Components of Lease Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "aaoi:LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock",
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "045 - Disclosure - Note 4 - Leases - Maturities of Lease Liabilities (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details",
     "shortName": "Note 4 - Leases - Maturities of Lease Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "aaoi:LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock",
       "aaoi:LesseeOperatingAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "046 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash (Details Textual)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual",
     "shortName": "Note 5 - Cash, Cash Equivalents and Restricted Cash (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30_StatementGeographicalAxis-CN",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:CertificatesOfDepositAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "047 - Disclosure - Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details",
     "shortName": "Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "048 - Disclosure - Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details",
     "shortName": "Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "004 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited",
     "shortName": "Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "049 - Disclosure - Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details",
     "shortName": "Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryLIFOReservePeriodCharge",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "050 - Disclosure - Note 7 - Inventories (Details Textual)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual",
     "shortName": "Note 7 - Inventories (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:InventoryWriteDown",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "051 - Disclosure - Note 7 - Inventories - Inventories (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details",
     "shortName": "Note 7 - Inventories - Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "052 - Disclosure - Note 8 - Property, Plant and Equipment (Details Textual)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual",
     "shortName": "Note 8 - Property, Plant and Equipment (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "053 - Disclosure - Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details",
     "shortName": "Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "054 - Disclosure - Note 9 - Intangible Assets, Net (Details Textual)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual",
     "shortName": "Note 9 - Intangible Assets, Net (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "055 - Disclosure - Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
     "shortName": "Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "056 - Disclosure - Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details",
     "shortName": "Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConvertibleDebtFairValueDisclosures",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "057 - Disclosure - Note 10 - Fair Value of Financial Instruments (Details Textual)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
     "shortName": "Note 10 - Fair Value of Financial Instruments (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30_LongtermDebtTypeAxis-SeniorNotesMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConvertibleDebtFairValueDisclosures",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "058 - Disclosure - Note 11 - Notes Payable and Long-term Debt (Details Textual)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
     "shortName": "Note 11 - Notes Payable and Long-term Debt (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-PreferredStockMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "059 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
     "shortName": "Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-11-16_CreditFacilityAxis-RevolvingCreditFacilityMember_DebtInstrumentAxis-LoanSecurityAndGuaranteeAgreementMember_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
     "shortName": "Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061 - Disclosure - Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
     "shortName": "Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2019-03-05_2019-03-05_DebtInstrumentAxis-CapExLoanAndTermLoanMember_LineOfCreditFacilityAxis-TruistBankMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RepaymentsOfLongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "062 - Disclosure - Note 12 - Convertible Senior Notes (Details Textual)",
     "menuCat": "Details",
     "order": "63",
     "role": "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
     "shortName": "Note 12 - Convertible Senior Notes (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2019-03-05_2019-03-05_DebtInstrumentAxis-CapExLoanAndTermLoanMember_LineOfCreditFacilityAxis-TruistBankMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RepaymentsOfLongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ConvertibleDebtTableTextBlock",
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "063 - Disclosure - Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)",
     "menuCat": "Details",
     "order": "64",
     "role": "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
     "shortName": "Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ConvertibleDebtTableTextBlock",
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30_LongtermDebtTypeAxis-The5PercentConvertibleSeniorNotesDue2024Member",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnamortizedDebtIssuanceExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "064 - Disclosure - Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)",
     "menuCat": "Details",
     "order": "65",
     "role": "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details",
     "shortName": "Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock",
       "aaoi:ConvertibleDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30_DebtInstrumentAxis-The5PercentConvertibleSeniorNotesDue2024Member",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:InterestExpenseDebtExcludingAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedSalariesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "065 - Disclosure - Note 13 - Accrued Liabilities - Accrued Liabilities (Details)",
     "menuCat": "Details",
     "order": "66",
     "role": "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details",
     "shortName": "Note 13 - Accrued Liabilities - Accrued Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedSalariesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
       "us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ForeignCurrencyTransactionGainLossBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "066 - Disclosure - Note 14 - Other Income and Expense - Other Income and Expense (Details)",
     "menuCat": "Details",
     "order": "67",
     "role": "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details",
     "shortName": "Note 14 - Other Income and Expense - Other Income and Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
       "us-gaap:OtherNonoperatingIncomeAndExpenseTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ForeignCurrencyTransactionGainLossBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "067 - Disclosure - Note 15 - Share-based Compensation (Details Textual)",
     "menuCat": "Details",
     "order": "68",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
     "shortName": "Note 15 - Share-based Compensation (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember_VestingAxis-ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "068 - Disclosure - Note 15 - Share-based Compensation - Option Activity (Details)",
     "menuCat": "Details",
     "order": "69",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details",
     "shortName": "Note 15 - Share-based Compensation - Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-12-31_AwardTypeAxis-PerformanceSharesMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "069 - Disclosure - Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)",
     "menuCat": "Details",
     "order": "70",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
     "shortName": "Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-12-31_AwardTypeAxis-PerformanceSharesMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "070 - Disclosure - Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)",
     "menuCat": "Details",
     "order": "71",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
     "shortName": "Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "071 - Disclosure - Note 15 - Share-based Compensation - Share-based Compensation (Details)",
     "menuCat": "Details",
     "order": "72",
     "role": "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
     "shortName": "Note 15 - Share-based Compensation - Share-based Compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30_IncomeStatementLocationAxis-CostOfSalesMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "072 - Disclosure - Note 16 - Income Taxes (Details Textual)",
     "menuCat": "Details",
     "order": "73",
     "role": "http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual",
     "shortName": "Note 16 - Income Taxes (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": null,
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "073 - Disclosure - Note 17 - Geographic Information (Details Textual)",
     "menuCat": "Details",
     "order": "74",
     "role": "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual",
     "shortName": "Note 17 - Geographic Information (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "074 - Disclosure - Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)",
     "menuCat": "Details",
     "order": "75",
     "role": "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
     "shortName": "Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-04-01_2023-06-30_StatementGeographicalAxis-US",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "075 - Disclosure - Note 17 - Geographic Information - Asset Information by Geographic Region (Details)",
     "menuCat": "Details",
     "order": "76",
     "role": "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
     "shortName": "Note 17 - Geographic Information - Asset Information by Geographic Region (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "i_2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "aaoi:LossContingencyPotentialObigation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "076 - Disclosure - Note 18 - Contingencies (Details Textual)",
     "menuCat": "Details",
     "order": "77",
     "role": "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual",
     "shortName": "Note 18 - Contingencies (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2021-08-09_2021-08-09_LossContingenciesByNatureOfContingencyAxis-LossContingencyObligationForSalesAndUseTaxMember",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "aaoi:LossContingencyPotentialObigation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-07-13_2023-07-13_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_SubsequentEventTypeAxis-SubsequentEventMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RepaymentsOfDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "077 - Disclosure - Note 19 - Subsequent Events (Details Textual)",
     "menuCat": "Details",
     "order": "78",
     "role": "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual",
     "shortName": "Note 19 - Subsequent Events (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-07-13_2023-07-13_LineOfCreditFacilityAxis-CITNorthbridgeCreditLLCMember_SubsequentEventTypeAxis-SubsequentEventMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RepaymentsOfDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "007 - Disclosure - Note 1 - Description of Business",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
     "shortName": "Note 1 - Description of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "008 - Disclosure - Note 2 - Significant Accounting Policies",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies",
     "shortName": "Note 2 - Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "aaoi20230630_10q.htm",
      "contextRef": "d_2023-01-01_2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 59,
   "tag": {
    "aaoi_AccruedInterestCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of accrued but unpaid interest on liabilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued interest"
       }
      }
     },
     "localname": "AccruedInterestCurrent",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_AccruedLiabilitiesAdvancedPayments": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 5.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for advanced payments.",
        "label": "Advanced payments"
       }
      }
     },
     "localname": "AccruedLiabilitiesAdvancedPayments",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_BankAcceptancesExecutedAndOutstandingCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of drafts and bills of exchange that have been accepted by the reporting bank, or by others for its own account, as its liability to holders of the drafts, which is expected to be paid within one year of the date of the statement of financial position.",
        "label": "Bank acceptance payable",
        "verboseLabel": "Bank acceptance notes issued to vendors with a zero percent interest rate"
       }
      }
     },
     "localname": "BankAcceptancesExecutedAndOutstandingCurrent",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of equity interests exchanged in the other party in business divestiture.",
        "label": "aaoi_BusinessDivestiturePercentageOfEquityInterestsExchanged",
        "terseLabel": "Business Divestiture, Percentage of Equity Interests Exchanged"
       }
      }
     },
     "localname": "BusinessDivestiturePercentageOfEquityInterestsExchanged",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "aaoi_CATVMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents CATV.",
        "label": "CATV [Member]"
       }
      }
     },
     "localname": "CATVMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_CITNorthbridgeCreditLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents CIT Northbridge Credit, LLC.",
        "label": "CIT Northbridge Credit, LLC [Member]"
       }
      }
     },
     "localname": "CITNorthbridgeCreditLLCMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_CapExLoanAndTermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents both the capital expenditure loan (the \u201cCapEx Loan\u201d) and the term loan (the \"Term Loan\").",
        "label": "CapEx Loan and Term Loan [Member]"
       }
      }
     },
     "localname": "CapExLoanAndTermLoanMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_ChinaZheshangBankCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the China Zheshang Bank Co., Ltd., in Ningbo City, China (\"CZB\").",
        "label": "China Zheshang Bank Co., Ltd [Member]"
       }
      }
     },
     "localname": "ChinaZheshangBankCoLtdMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_ComputerEquipmentAndSoftwareMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents computer equipment and software.",
        "label": "Computer Equipment and Software [Member]"
       }
      }
     },
     "localname": "ComputerEquipmentAndSoftwareMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_ConvertibleDebtTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.",
        "label": "Convertible Debt [Text Block]"
       }
      }
     },
     "localname": "ConvertibleDebtTextBlock",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "aaoi_DataCenterMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents data center.",
        "label": "Data Center [Member]"
       }
      }
     },
     "localname": "DataCenterMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents monthly usage less than 50% of credit facility for basis spread on variable rate for debt instrument.",
        "label": "aaoi_DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage",
        "terseLabel": "Debt Instrument, Basis Spread on Variable Rate, Monthly Usage Less Than 50 Percentage"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRateMonthlyUsageLessThan50Percentage",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage premium over the closing price per share of the conversion feature embedded in the debt instrument.",
        "label": "aaoi_DebtInstrumentConvertibleConversionPricePremiumPercentage",
        "terseLabel": "Debt Instrument, Convertible, Conversion Price Premium, Percentage"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPricePremiumPercentage",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "aaoi_ExercisableOnSemiannualBasisMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to awards exercisable on a semi-annual basis.",
        "label": "Exercisable on Semi-annual Basis [Member]"
       }
      }
     },
     "localname": "ExercisableOnSemiannualBasisMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to awards exercisable on the first anniversary date following the date of grant.",
        "label": "Exercisable on the First Anniversary Date Following the Date of Grant [Member]"
       }
      }
     },
     "localname": "ExercisableOnTheFirstAnniversaryDateFollowingTheDateOfGrantMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_FTTHMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents FTTH.",
        "label": "FTTH [Member]"
       }
      }
     },
     "localname": "FTTHMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_GlobalTechnologyIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Global Technology, Inc. (\u201cGlobal\u201d).",
        "label": "Global Technology, Inc. [Member]"
       }
      }
     },
     "localname": "GlobalTechnologyIncMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_GovernmentSubsidyIncome": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income from government subsidy.",
        "label": "Government subsidy income"
       }
      }
     },
     "localname": "GovernmentSubsidyIncome",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_GuaranteeDepositsForCustomsDutiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding guarantee deposits for customs duties.",
        "label": "Guarantee Deposits for Customs Duties [Member]"
       }
      }
     },
     "localname": "GuaranteeDepositsForCustomsDutiesMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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 related to property and equipment additions received that are used in an entity's business.",
        "label": "Net change in accounts payable related to property and equipment additions"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableRelatedToPropertyAndEquipmentAdditions",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of deposits and prepayments for equipment related to property and equipment additions.",
        "label": "Net change in deposits and prepaid for equipment related to property and equipment additions"
       }
      }
     },
     "localname": "IncreaseDecreaseInDepositsAndPrepaidForEquipmentRelatedToPropertyAndEquipmentAdditions",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of increase (decrease) during the period in operating and finance lease obligations.",
        "label": "aaoi_IncreaseDecreaseInOperatingAndFinanceLeaseLiability",
        "terseLabel": "Lease liability"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingAndFinanceLeaseLiability",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_IncreaseDecreaseInOperatingRightOfUseAsset": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) during the period in operating right-of-use assets.",
        "label": "aaoi_IncreaseDecreaseInOperatingRightOfUseAsset",
        "terseLabel": "Operating right of use asset"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingRightOfUseAsset",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating and finance lease liabilities. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liabilities recognized in statement of financial position.",
        "label": "Lessee, Operating and Finance Lease, Liability, Maturity [Table Text Block]"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "aaoi_LesseeOperatingAndFinanceLeasesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating and finance leases of lessee. Includes, but is not limited to, description of operating and finance lease and maturity analysis of operating and finance lease liability.",
        "label": "Lessee, Operating and Finance Leases [Text Block]"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeasesTextBlock",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "aaoi_LoanSecurityAndGuaranteeAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Loan Security and Guarantee Agreement.",
        "label": "Loan Security and Guarantee Agreement [Member]"
       }
      }
     },
     "localname": "LoanSecurityAndGuaranteeAgreementMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing after the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Beyond one year"
       }
      }
     },
     "localname": "LongtermDebtMaturitiesRepaymentsOfPrincipalAfterNextRollingTwelveMonths",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_LossContingencyObligationForSalesAndUseTaxMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information on the obligation to potentially repay sales and use tax.",
        "label": "Loss Contingency, Obligation for Sales and Use Tax [Member]"
       }
      }
     },
     "localname": "LossContingencyObligationForSalesAndUseTaxMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_LossContingencyPotentialObigation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the form and magnitude of the amount of the potential obligation.",
        "label": "aaoi_LossContingencyPotentialObigation",
        "terseLabel": "Loss Contingency, Potential Obligation"
       }
      }
     },
     "localname": "LossContingencyPotentialObigation",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_ManufacturingFacilitiesInPrcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Manufacturing Facilities in PRC.",
        "label": "Manufacturing Facilities in PRC [Member]"
       }
      }
     },
     "localname": "ManufacturingFacilitiesInPrcMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_NoteToFinancialStatementDetailsTextual": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note To Financial Statement Details Textual"
       }
      }
     },
     "localname": "NoteToFinancialStatementDetailsTextual",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_NotesPayableAndLongtermDebtCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of notes payable and long-term debt classified as current.",
        "label": "Current portion of notes payable and long-term debt"
       }
      }
     },
     "localname": "NotesPayableAndLongtermDebtCurrent",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_NotesToFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes To Financial Statements [Abstract]"
       }
      }
     },
     "localname": "NotesToFinancialStatementsAbstract",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of estimated proceeds from divestiture of business as a percentage.",
        "label": "aaoi_PercentageOfEstimatedProceedsFromDivestitureOfBusiness",
        "terseLabel": "Percentage of Estimated Proceeds From Divestiture of Business"
       }
      }
     },
     "localname": "PercentageOfEstimatedProceedsFromDivestitureOfBusiness",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "aaoi_PercentageOfRevenue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of revenue.",
        "label": "Percent of Revenue"
       }
      }
     },
     "localname": "PercentageOfRevenue",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "percentItemType"
    },
    "aaoi_PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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, excluding construction in progress and land.",
        "label": "Property, plant and equipment, net before construction in progress and land"
       }
      }
     },
     "localname": "PropertyPantAndEquipmentNetBeforeConstructionInProgressAndLand",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for principal amounts on debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "aaoi_RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable",
        "negatedLabel": "Principal payments of long-term debt and notes payable"
       }
      }
     },
     "localname": "RepaymentsOfPrincipalsOnLongtermDebtAndNotesPayable",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_SPDBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Shanghai Pudon Development Bank (\"SPD\").",
        "label": "SPD Bank [Member]"
       }
      }
     },
     "localname": "SPDBankMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_SecuredOvernightFinancingRateSOFRMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information on Secured Overnight Financing Rate (SOFR).",
        "label": "Secured Overnight Financing Rate (SOFR) [Member]"
       }
      }
     },
     "localname": "SecuredOvernightFinancingRateSOFRMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Share-based Payment Award Performance Award Value Percentage Of Based Amount.",
        "label": "aaoi_SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount",
        "terseLabel": "Sharebased Compensation Arrangement By Sharebased Payment Award Performance Award Value Percentage Of Based Amount"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementByShareBasedPaymentAwardPerformanceAwardValuePercentageOfBasedAmount",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of cancelled award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Cancelled/Forfeited, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueCancelled",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of exercised award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Released, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Granted, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of vested and expected to vest award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Vested and expected to vest, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of equity instruments other than options vested and expected to vest.",
        "label": "Vested and expected to vest, number of shares (in shares)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonoptionEquityInstrumentsVestedAndExpectedToVest",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of options exercisable.",
        "label": "Exercisable, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options forfeited.",
        "label": "Forfeited, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeituresIntrinsicValue",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of options vested and expected to vest.",
        "label": "aaoi_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue",
        "terseLabel": "Vested and expected to vest, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "aaoi_TelecomMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents telecom.",
        "label": "Telecom [Member]"
       }
      }
     },
     "localname": "TelecomMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_The200MCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the \u00a5200M credit facility (the \"\u00a5200M Credit Facility\").",
        "label": "The \u00a5200M Credit Facility [Member]"
       }
      }
     },
     "localname": "The200MCreditFacilityMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_The5PercentConvertibleSeniorNotesDue2024Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the 5% convertible senior notes due 2024 (the \"Notes\").",
        "label": "The 5% Convertible Senior Notes Due 2024 [Member]"
       }
      }
     },
     "localname": "The5PercentConvertibleSeniorNotesDue2024Member",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_TheSPDCreditLineMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the SPD credit line (the \"SPD Credit Line\").",
        "label": "The SPD Credit Line [Member]"
       }
      }
     },
     "localname": "TheSPDCreditLineMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_TruistBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Truist Bank.",
        "label": "Truist Bank [Member]"
       }
      }
     },
     "localname": "TruistBankMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_VestingOnTheThirdAnniversaryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents vesting on the third anniversary.",
        "label": "Vesting on the Third Anniversary [Member]"
       }
      }
     },
     "localname": "VestingOnTheThirdAnniversaryMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_YuhanOptoelectronicTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Yuhan Optoelectronic Technology Co., Ltd.",
        "label": "Yuhan Optoelectronic Technology Co., Ltd [Member]"
       }
      }
     },
     "localname": "YuhanOptoelectronicTechnologyCoLtdMember",
     "nsuri": "http://ao-inc.com/20230630",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Notes Payable and Long-term Debt - Maturities of Notes Payable and Long-term Debt (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Notes Payable and Long-term Debt - Schedule of Notes Payable and Long-term Debt (Details) (Parentheticals)"
       }
      }
     },
     "localname": "statement-statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-11-notes-payable-and-longterm-debt-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Notes Payable and Long-term Debt"
       }
      }
     },
     "localname": "statement-statement-note-11-notes-payable-and-longterm-debt-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Convertible Senior Notes - Schedule of Carrying Value of Convertible Senior Notes (Details)"
       }
      }
     },
     "localname": "statement-statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Convertible Senior Notes - Schedule of Interest Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-12-convertible-senior-notes-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Convertible Senior Notes"
       }
      }
     },
     "localname": "statement-statement-note-12-convertible-senior-notes-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-13-accrued-liabilities-accrued-liabilities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Accrued Liabilities - Accrued Liabilities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-13-accrued-liabilities-accrued-liabilities-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-13-accrued-liabilities-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Accrued Liabilities"
       }
      }
     },
     "localname": "statement-statement-note-13-accrued-liabilities-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-14-other-income-and-expense-other-income-and-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Other Income and Expense - Other Income and Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-14-other-income-and-expense-other-income-and-expense-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-14-other-income-and-expense-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Other Income and Expense"
       }
      }
     },
     "localname": "statement-statement-note-14-other-income-and-expense-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-15-sharebased-compensation-option-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Share-based Compensation - Option Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-sharebased-compensation-option-activity-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Share-based Compensation - Performance Stock Units Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Share-based Compensation - Restricted Stock Unit/Awards Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-15-sharebased-compensation-sharebased-compensation-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Share-based Compensation - Share-based Compensation (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-sharebased-compensation-sharebased-compensation-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-15-sharebased-compensation-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Share-based Compensation"
       }
      }
     },
     "localname": "statement-statement-note-15-sharebased-compensation-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Geographic Information - Asset Information by Geographic Region (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-geographic-information-asset-information-by-geographic-region-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Geographic Information - Revenue Information by Geographic Region (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-17-geographic-information-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Geographic Information"
       }
      }
     },
     "localname": "statement-statement-note-17-geographic-information-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Revenue Recognition - Revenue by Major Product Category (Details)"
       }
      }
     },
     "localname": "statement-statement-note-3-revenue-recognition-revenue-by-major-product-category-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-3-revenue-recognition-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Revenue Recognition"
       }
      }
     },
     "localname": "statement-statement-note-3-revenue-recognition-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-4-leases-components-of-lease-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Leases - Components of Lease Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-4-leases-components-of-lease-expense-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-4-leases-maturities-of-lease-liabilities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Leases - Maturities of Lease Liabilities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-4-leases-maturities-of-lease-liabilities-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-4-leases-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Leases"
       }
      }
     },
     "localname": "statement-statement-note-4-leases-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Cash, Cash Equivalents and Restricted Cash - Summary of Cash, Cash Equivalents and Restricted Cash (Details)"
       }
      }
     },
     "localname": "statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Cash, Cash Equivalents and Restricted Cash"
       }
      }
     },
     "localname": "statement-statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Earnings (Loss) Per Share - Computation of Basic and Diluted Net Income (Loss) per Share (Details)"
       }
      }
     },
     "localname": "statement-statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Earnings (Loss) Per Share - Potentially Dilutive Securities Excluded from Diluted Net Income (Loss) per Share (Details)"
       }
      }
     },
     "localname": "statement-statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-6-earnings-loss-per-share-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Earnings (Loss) Per Share"
       }
      }
     },
     "localname": "statement-statement-note-6-earnings-loss-per-share-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-7-inventories-inventories-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Inventories - Inventories (Details)"
       }
      }
     },
     "localname": "statement-statement-note-7-inventories-inventories-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-7-inventories-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Inventories"
       }
      }
     },
     "localname": "statement-statement-note-7-inventories-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Property, Plant and Equipment - Property, Plant and Equipment (Details)"
       }
      }
     },
     "localname": "statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-8-property-plant-and-equipment-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Property, Plant and Equipment"
       }
      }
     },
     "localname": "statement-statement-note-8-property-plant-and-equipment-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Intangible Assets, Net - Finite-lived Intangible Assets (Details)"
       }
      }
     },
     "localname": "statement-statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-9-intangible-assets-net-future-amortization-expense-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Intangible Assets, Net - Future Amortization Expense (Details)"
       }
      }
     },
     "localname": "statement-statement-note-9-intangible-assets-net-future-amortization-expense-details",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-note-9-intangible-assets-net-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Intangible Assets, Net"
       }
      }
     },
     "localname": "statement-statement-note-9-intangible-assets-net-tables",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "aaoi_statement-statement-significant-accounting-policies-policies": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies"
       }
      }
     },
     "localname": "statement-statement-significant-accounting-policies-policies",
     "nsuri": "http://ao-inc.com/20230630",
     "xbrltype": "stringItemType"
    },
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHINA"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TW": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "TAIWAN"
       }
      }
     },
     "localname": "TW",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r580"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables",
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables",
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r579"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-document-and-entity-information"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r165",
      "r166",
      "r261",
      "r287",
      "r405",
      "r540",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r305",
      "r410",
      "r439",
      "r456",
      "r457",
      "r508",
      "r510",
      "r512",
      "r513",
      "r515",
      "r529",
      "r530",
      "r547",
      "r554",
      "r559",
      "r565",
      "r614",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r305",
      "r410",
      "r439",
      "r456",
      "r457",
      "r508",
      "r510",
      "r512",
      "r513",
      "r515",
      "r529",
      "r530",
      "r547",
      "r554",
      "r559",
      "r565",
      "r614",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r216",
      "r412",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r531",
      "r555",
      "r564",
      "r583",
      "r608",
      "r609",
      "r616",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r216",
      "r412",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r531",
      "r555",
      "r564",
      "r583",
      "r608",
      "r609",
      "r616",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r304",
      "r305",
      "r331",
      "r332",
      "r333",
      "r409",
      "r410",
      "r439",
      "r456",
      "r457",
      "r508",
      "r510",
      "r512",
      "r513",
      "r515",
      "r529",
      "r530",
      "r547",
      "r554",
      "r559",
      "r565",
      "r568",
      "r603",
      "r614",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r304",
      "r305",
      "r331",
      "r332",
      "r333",
      "r409",
      "r410",
      "r439",
      "r456",
      "r457",
      "r508",
      "r510",
      "r512",
      "r513",
      "r515",
      "r529",
      "r530",
      "r547",
      "r554",
      "r559",
      "r565",
      "r568",
      "r603",
      "r614",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r165",
      "r166",
      "r261",
      "r287",
      "r405",
      "r541",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r218",
      "r219",
      "r453",
      "r454",
      "r455",
      "r509",
      "r511",
      "r514",
      "r516",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r532",
      "r556",
      "r568",
      "r616",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r218",
      "r219",
      "r453",
      "r454",
      "r455",
      "r509",
      "r511",
      "r514",
      "r516",
      "r518",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r532",
      "r556",
      "r568",
      "r616",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.",
        "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]"
       }
      }
     },
     "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r24",
      "r563"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r221",
      "r222"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts receivable - trade, net of allowance of $9 and $28, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued employee benefits"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).",
        "label": "Accrued liabilities",
        "totalLabel": "Total accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesForCommissionsExpenseAndTaxes": {
     "auth_ref": [
      "r662"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount for commissions, taxes and other expenses that were incurred but unpaid as of the balance sheet date.",
        "label": "Accrued commission expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesForCommissionsExpenseAndTaxes",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 8.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued professional fees"
       }
      }
     },
     "localname": "AccruedProfessionalFeesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalariesCurrent": {
     "auth_ref": [
      "r28",
      "r536"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 6.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued payroll"
       }
      }
     },
     "localname": "AccruedSalariesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r50",
      "r132",
      "r426"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
        "negatedLabel": "Less accumulated depreciation and amortization"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r35",
      "r36",
      "r78",
      "r138",
      "r423",
      "r444",
      "r445"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.",
        "label": "Accumulated other comprehensive income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r2",
      "r10",
      "r36",
      "r364",
      "r367",
      "r404",
      "r440",
      "r441",
      "r586",
      "r587",
      "r588",
      "r596",
      "r597",
      "r598"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "AOCI Attributable to Parent [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r70",
      "r563",
      "r668"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.",
        "label": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r340",
      "r341",
      "r342",
      "r451",
      "r596",
      "r597",
      "r598",
      "r646",
      "r670"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r55",
      "r56",
      "r307"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Share-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net loss to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r335",
      "r343"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Total share-based compensation expense",
        "terseLabel": "Share-Based Payment Arrangement, Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r139",
      "r223",
      "r227",
      "r228",
      "r230",
      "r665"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts receivable, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r82",
      "r279",
      "r389",
      "r591"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details": {
       "order": 0.0,
       "parentTag": "us-gaap_InterestExpenseDebt",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of debt issuance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r7",
      "r44",
      "r47"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_AmortizationOfIntangibleAssets",
        "terseLabel": "Amortization of Intangible Assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r189"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Total antidilutive share (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r7",
      "r48"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "us-gaap_AssetImpairmentCharges",
        "terseLabel": "Asset Impairment Charges"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r112",
      "r135",
      "r163",
      "r198",
      "r207",
      "r212",
      "r224",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r359",
      "r361",
      "r373",
      "r420",
      "r477",
      "r563",
      "r576",
      "r612",
      "r613",
      "r653"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_Assets",
        "totalLabel": "TOTAL ASSETS"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r128",
      "r141",
      "r163",
      "r224",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r359",
      "r361",
      "r373",
      "r563",
      "r612",
      "r613",
      "r653"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_AssetsCurrent",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BankAcceptancesExecuted": {
     "auth_ref": [
      "r63"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the financial institution's obligation to pay the holder of the customer's draft which the financial institution has guaranteed (i.e., Banker's Acceptance).",
        "label": "us-gaap_BankAcceptancesExecuted",
        "terseLabel": "Bank Acceptances Executed"
       }
      }
     },
     "localname": "BankAcceptancesExecuted",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BankersAcceptanceMember": {
     "auth_ref": [
      "r570",
      "r571",
      "r572",
      "r573"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short-term time draft that a bank (drawee) has agreed to pay at maturity by stamping \"accepted\" over the signature of an officer.",
        "label": "Bankers Acceptance [Member]"
       }
      }
     },
     "localname": "BankersAcceptanceMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building and Building Improvements [Member]"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "auth_ref": [
      "r65",
      "r97",
      "r98"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Business Description and Basis of Presentation [Text Block]"
       }
      }
     },
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r40",
      "r130",
      "r533"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsDisclosureTextBlock": {
     "auth_ref": [
      "r130",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) 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. Generally, only investments maturing within three months from the date of acquisition qualify.",
        "label": "Cash and Cash Equivalents Disclosure [Text Block]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r40",
      "r94",
      "r160"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
        "totalLabel": "Total cash, cash equivalents and restricted cash shown in the statement of cash flows"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r40",
      "r94",
      "r160"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period",
        "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r1",
      "r94"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
        "totalLabel": "Net decrease in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCollateralForBorrowedSecurities": {
     "auth_ref": [
      "r62",
      "r664"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of cash collateral held for borrowed securities, for which the cash is restricted as to withdrawal or usage.",
        "label": "us-gaap_CashCollateralForBorrowedSecurities",
        "terseLabel": "Cash Collateral for Borrowed Securities"
       }
      }
     },
     "localname": "CashCollateralForBorrowedSecurities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CertificatesOfDepositAtCarryingValue": {
     "auth_ref": [
      "r584"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.",
        "label": "us-gaap_CertificatesOfDepositAtCarryingValue",
        "terseLabel": "Certificates of Deposit, at Carrying Value"
       }
      }
     },
     "localname": "CertificatesOfDepositAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r106",
      "r240",
      "r241",
      "r519",
      "r604"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r566",
      "r567",
      "r568",
      "r570",
      "r571",
      "r572",
      "r573",
      "r596",
      "r597",
      "r646",
      "r667",
      "r670"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r69",
      "r465"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r11",
      "r69",
      "r465",
      "r483",
      "r670",
      "r671"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r69",
      "r422",
      "r563"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock; 45,000 shares authorized at $0.001 par value; 31,785 and 28,622 shares issued and outstanding at June 30, 2023 and December 31, 2022, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r37",
      "r143",
      "r145",
      "r150",
      "r416",
      "r430"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_ComprehensiveIncomeNetOfTax",
        "totalLabel": "Comprehensive loss"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Construction in Progress [Member]"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r289",
      "r290",
      "r301"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "us-gaap_ContractWithCustomerLiability",
        "terseLabel": "Contract with Customer, Liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r289",
      "r290",
      "r301"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Unearned revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "auth_ref": [
      "r289",
      "r290",
      "r301"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.",
        "label": "Unearned revenue, Net of Current portion"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r302"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized",
        "terseLabel": "Contract with Customer, Liability, Revenue Recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebt": {
     "auth_ref": [
      "r21",
      "r114",
      "r663"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including the current and noncurrent portions, carrying amount of debt identified as being convertible into another form of financial instrument (typically the entity's common stock) as of the balance sheet date, which originally required full repayment more than twelve months after issuance or greater than the normal operating cycle of the company.",
        "label": "us-gaap_ConvertibleDebt",
        "terseLabel": "Convertible Debt"
       }
      }
     },
     "localname": "ConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtCurrent": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of the carrying value of long-term convertible debt as of the balance sheet date that is scheduled to be repaid within one year or in the normal operating cycle if longer. Convertible debt is a financial instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Current portion of Convertible senior notes"
       }
      }
     },
     "localname": "ConvertibleDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtFairValueDisclosures": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.",
        "label": "us-gaap_ConvertibleDebtFairValueDisclosures",
        "terseLabel": "Convertible Debt, Fair Value Disclosures"
       }
      }
     },
     "localname": "ConvertibleDebtFairValueDisclosures",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtSecuritiesMember": {
     "auth_ref": [
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities that can be exchanged for equity of the debt issuer at the option of the issuer or the holder.",
        "label": "Convertible Debt Securities [Member]"
       }
      }
     },
     "localname": "ConvertibleDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertibleDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount.",
        "label": "Convertible Debt [Table Text Block]"
       }
      }
     },
     "localname": "ConvertibleDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConvertibleLongTermNotesPayable": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "us-gaap_ConvertibleLongTermNotesPayable",
        "terseLabel": "Convertible senior notes"
       }
      }
     },
     "localname": "ConvertibleLongTermNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayable": {
     "auth_ref": [
      "r21",
      "r114",
      "r663"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.",
        "label": "us-gaap_ConvertibleNotesPayable",
        "totalLabel": "Net carrying amount"
       }
      }
     },
     "localname": "ConvertibleNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r84",
      "r412"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cost of goods sold"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtConversionConvertedInstrumentAmount1": {
     "auth_ref": [
      "r41",
      "r42"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of the financial instrument(s) that the original debt is being converted into in a noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "us-gaap_DebtConversionConvertedInstrumentAmount1",
        "terseLabel": "Debt Conversion, Converted Instrument, Amount"
       }
      }
     },
     "localname": "DebtConversionConvertedInstrumentAmount1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtConversionConvertedInstrumentSharesIssued1": {
     "auth_ref": [
      "r41",
      "r42"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued in exchange for the original debt being converted in a noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or payments in the period.",
        "label": "us-gaap_DebtConversionConvertedInstrumentSharesIssued1",
        "terseLabel": "Debt Conversion, Converted Instrument, Shares Issued (in shares)"
       }
      }
     },
     "localname": "DebtConversionConvertedInstrumentSharesIssued1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r107",
      "r162",
      "r257",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r273",
      "r280",
      "r281",
      "r282"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r21",
      "r66",
      "r67",
      "r113",
      "r114",
      "r167",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r264",
      "r269",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r390",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1",
        "terseLabel": "Debt Instrument, Basis Spread on Variable Rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r21",
      "r114",
      "r283"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "us-gaap_DebtInstrumentCarryingAmount",
        "verboseLabel": "Long-term debt"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r108",
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "us-gaap_DebtInstrumentConvertibleConversionPrice1",
        "terseLabel": "Debt Instrument, Convertible, Conversion Price (in dollars per share)"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.",
        "label": "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
        "terseLabel": "Debt Instrument, Convertible, Threshold Consecutive Trading Days"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.",
        "label": "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
        "terseLabel": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.",
        "label": "us-gaap_DebtInstrumentConvertibleThresholdTradingDays",
        "terseLabel": "Debt Instrument, Convertible, Threshold Trading Days"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r59",
      "r61",
      "r258",
      "r390",
      "r550",
      "r551"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details": {
       "order": 1.0,
       "parentTag": "us-gaap_ConvertibleNotesPayable",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Principal",
        "terseLabel": "Debt Instrument, Face Amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r30",
      "r59",
      "r285",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Effective interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r30",
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Long-term debt, interest",
        "terseLabel": "Debt Instrument, Interest Rate, Stated Percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r124",
      "r549",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.",
        "label": "Long-term debt, maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentMaturityDateRangeEnd1": {
     "auth_ref": [
      "r31"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Latest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format.",
        "label": "Long-term debt, end maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDateRangeEnd1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentMaturityDateRangeStart1": {
     "auth_ref": [
      "r31"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earliest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format.",
        "label": "Long-term debt, start maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDateRangeStart1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r33",
      "r167",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r264",
      "r269",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r390",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of principal amount of debt redeemed.",
        "label": "us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed",
        "terseLabel": "Debt Instrument, Redemption Price, Percentage of Principal Amount Redeemed"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_DebtInstrumentTerm",
        "terseLabel": "Debt Instrument, Term (Year)"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": {
     "auth_ref": [
      "r32"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date.",
        "label": "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount",
        "terseLabel": "Debt Instrument, Unused Borrowing Capacity, Amount"
       }
      }
     },
     "localname": "DebtInstrumentUnusedBorrowingCapacityAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r60"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "us-gaap_DeferredFinanceCostsGross",
        "terseLabel": "Debt Issuance Costs, Gross"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r60",
      "r615"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "us-gaap_DeferredFinanceCostsNet",
        "negatedTerseLabel": "Less debt issuance costs, net"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r7",
      "r49"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r7",
      "r49"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Table Text Block]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r306",
      "r308",
      "r336",
      "r337",
      "r339",
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement [Text Block]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DisclosureTextBlockAbstract",
        "terseLabel": "Notes to Financial Statements"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.",
        "label": "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration",
        "terseLabel": "Disposal Group, Including Discontinued Operation, Consideration"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationConsideration",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of disposal group.",
        "label": "Disposal Group Name [Domain]"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net loss per share"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r151",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r182",
      "r184",
      "r186",
      "r187",
      "r188",
      "r192",
      "r370",
      "r371",
      "r417",
      "r431",
      "r544"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r151",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r184",
      "r186",
      "r187",
      "r188",
      "r192",
      "r370",
      "r371",
      "r417",
      "r431",
      "r544"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r181",
      "r189",
      "r190",
      "r191"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r649"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of exchange rate changes on cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r164",
      "r347",
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
        "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r645"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "auth_ref": [
      "r645"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
        "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Option [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r11",
      "r126",
      "r146",
      "r147",
      "r148",
      "r168",
      "r169",
      "r170",
      "r172",
      "r178",
      "r180",
      "r193",
      "r225",
      "r226",
      "r288",
      "r340",
      "r341",
      "r342",
      "r351",
      "r352",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r404",
      "r440",
      "r441",
      "r442",
      "r451",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r372"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r393",
      "r398",
      "r562"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "Financing lease expense"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r395",
      "r400"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Operating cash flows from financing lease"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r392",
      "r403"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Present value, financing leases"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r392"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Current lease liability - financing"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r403"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
        "totalLabel": "Total financing lease payments, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease due in next rolling 12 months following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach.",
        "label": "2024, finance"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due after fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "2029 and thereafter, finance"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "2028, finance"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 5.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "2027, finance"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "2026, finance"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "2025, finance"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r403"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Less imputed interest, financing leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r394",
      "r400"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "us-gaap_FinanceLeasePrincipalPayments",
        "negatedLabel": "Principal payments of financing lease",
        "verboseLabel": "Financing cash flows from financing lease"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r391"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Financing right of use asset"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r402",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Weighted Average Discount Rate - financing leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r401",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Weighted Average Remaining Lease Term (Years) - financing leases (Year)"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r133",
      "r236"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization",
        "negatedLabel": "Intangible assets, accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "2029 and thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRollingAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the fifth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive",
        "terseLabel": "2028"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the fourth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the third rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": 0.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the second rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRollingYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r234",
      "r235",
      "r236",
      "r237",
      "r413",
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r102",
      "r414"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Intangible assets, gross amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r45",
      "r46"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r102",
      "r413"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Intangible assets, net",
        "totalLabel": "Finite-Lived Intangible Assets, Net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
        "terseLabel": "Finite-Lived Intangible Assets, Remaining Amortization Period (Year)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r374",
      "r376",
      "r378",
      "r379",
      "r502"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details": {
       "order": 0.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.",
        "label": "Foreign exchange transaction gain (loss)"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Furniture and Fixtures [Member]"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "auth_ref": [
      "r591"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.",
        "label": "us-gaap_GainLossOnDispositionOfAssets1",
        "negatedLabel": "Gain (loss) on disposal of assets",
        "verboseLabel": "Gain (loss) on disposal of assets"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r85",
      "r487"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r83",
      "r163",
      "r198",
      "r206",
      "r211",
      "r214",
      "r224",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r373",
      "r546",
      "r612"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "us-gaap_GrossProfit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r0",
      "r79",
      "r116",
      "r198",
      "r206",
      "r211",
      "r214",
      "r418",
      "r428",
      "r546"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
        "totalLabel": "Loss before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "auth_ref": [
      "r557",
      "r558"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of disposal group.",
        "label": "Disposal Group Name [Axis]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r238",
      "r239",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r239",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r164",
      "r345",
      "r348",
      "r349",
      "r350",
      "r353",
      "r356",
      "r357",
      "r358",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r119",
      "r123",
      "r179",
      "r180",
      "r203",
      "r346",
      "r354",
      "r432"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "us-gaap_IncomeTaxExpenseBenefit",
        "negatedLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncreaseDecreaseInAccountsPayable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncreaseDecreaseInAccountsReceivable",
        "negatedLabel": "Accounts receivable, trade"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.",
        "label": "Accrued Income Tax"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "us-gaap_IncreaseDecreaseInAccruedLiabilities",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r411",
      "r590"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "us-gaap_IncreaseDecreaseInContractWithCustomerLiability",
        "terseLabel": "Unearned revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncreaseDecreaseInInventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInNotesReceivables": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of the amounts due from borrowers for outstanding secured or unsecured loans evidenced by a note.",
        "label": "us-gaap_IncreaseDecreaseInNotesReceivables",
        "negatedLabel": "Trade Notes receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInNotesReceivables",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "auth_ref": [
      "r590"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as other.",
        "label": "us-gaap_IncreaseDecreaseInOtherCurrentAssets",
        "negatedLabel": "Other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidTaxes": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.",
        "label": "us-gaap_IncreaseDecreaseInPrepaidTaxes",
        "negatedLabel": "Prepaid income tax"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IndefiniteLivedContractualRights": {
     "auth_ref": [
      "r103"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date of rights with an indefinite period of benefit that arose from a contractual arrangement with a third party (not including franchise rights and license agreements).",
        "label": "Land use rights, net"
       }
      }
     },
     "localname": "IndefiniteLivedContractualRights",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r233"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r60",
      "r118",
      "r149",
      "r202",
      "r388",
      "r489",
      "r574",
      "r669"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "us-gaap_InterestExpense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebt": {
     "auth_ref": [
      "r89",
      "r277",
      "r286",
      "r552",
      "r553"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt.",
        "label": "us-gaap_InterestExpenseDebt",
        "totalLabel": "Total interest cost"
       }
      }
     },
     "localname": "InterestExpenseDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "auth_ref": [
      "r91",
      "r278",
      "r552",
      "r553"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details": {
       "order": 1.0,
       "parentTag": "us-gaap_InterestExpenseDebt",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.",
        "label": "Contractual interest expense"
       }
      }
     },
     "localname": "InterestExpenseDebtExcludingAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeAndInterestExpenseDisclosureTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of interest income and expense, including, but not limited to, interest income and expense from investments, loans, and securities.",
        "label": "Interest Income and Interest Expense Disclosure [Table Text Block]"
       }
      }
     },
     "localname": "InterestIncomeAndInterestExpenseDisclosureTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestPaidCapitalized": {
     "auth_ref": [
      "r543",
      "r592"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest capitalized, classified as investing activity.",
        "label": "us-gaap_InterestPaidCapitalized",
        "terseLabel": "Interest Paid, Capitalized, Investing Activities"
       }
      }
     },
     "localname": "InterestPaidCapitalized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r156",
      "r158",
      "r159"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest, net of amounts capitalized"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r231"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory Disclosure [Text Block]"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-7-inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r101",
      "r537"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryLIFOReservePeriodCharge": {
     "auth_ref": [
      "r100"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The change in the inventory reserve representing the cumulative difference in cost between the first in, first out and the last in, first out inventory valuation methods, which change has been reflected in the statement of income during the period.",
        "label": "Inventory reserve adjustment",
        "terseLabel": "Inventory, LIFO Reserve, Period Charge"
       }
      }
     },
     "localname": "InventoryLIFOReservePeriodCharge",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r140",
      "r534",
      "r563"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "us-gaap_InventoryNet",
        "terseLabel": "Inventories",
        "totalLabel": "Total inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r101",
      "r539"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r101",
      "r538"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details": {
       "order": 0.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Work in process and sub-assemblies"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r232"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "us-gaap_InventoryWriteDown",
        "terseLabel": "Inventory Write-down"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r86",
      "r201"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to real estate held.",
        "label": "Land Improvements [Member]"
       }
      }
     },
     "localname": "LandImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r397",
      "r562"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "us-gaap_LeaseCost",
        "terseLabel": "Lease, Cost",
        "totalLabel": "Total lease expense"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r403"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
        "totalLabel": "Total operating lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "2029 and thereafter, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "2028, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "2027, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "2026, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "2025, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths": {
     "auth_ref": [
      "r652"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "2024, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r403"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Less imputed interest, operating leases, operating"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r27",
      "r163",
      "r224",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r360",
      "r361",
      "r362",
      "r373",
      "r464",
      "r545",
      "r576",
      "r612",
      "r653",
      "r654"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "us-gaap_Liabilities",
        "totalLabel": "TOTAL LIABILITIES"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r74",
      "r115",
      "r425",
      "r563",
      "r594",
      "r601",
      "r648"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "us-gaap_LiabilitiesAndStockholdersEquity",
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r29",
      "r129",
      "r163",
      "r224",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r360",
      "r361",
      "r362",
      "r373",
      "r563",
      "r612",
      "r653",
      "r654"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_LiabilitiesCurrent",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r21",
      "r114",
      "r663"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_LineOfCredit",
        "terseLabel": "Long-Term Line of Credit"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r25",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r25",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r25"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-term debt, maximum",
        "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Lived Assets by Geographic Areas [Table Text Block]"
       }
      }
     },
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r21",
      "r114",
      "r270",
      "r284",
      "r550",
      "r551",
      "r663"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "us-gaap_LongTermDebt",
        "terseLabel": "Total outstanding",
        "totalLabel": "Grand total"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r136"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.",
        "label": "us-gaap_LongTermDebtCurrent",
        "negatedTerseLabel": "Less current portion"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths": {
     "auth_ref": [
      "r595"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Within one year"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "us-gaap_LongTermDebtNoncurrent",
        "verboseLabel": "Non-current portion"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-Term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r33",
      "r51"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-Term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "auth_ref": [
      "r242",
      "r243",
      "r244",
      "r247",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.",
        "label": "Loss Contingency Nature [Axis]"
       }
      }
     },
     "localname": "LossContingenciesByNatureOfContingencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyAccrualPayments": {
     "auth_ref": [
      "r605"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow reducing loss contingency liability.",
        "label": "us-gaap_LossContingencyAccrualPayments",
        "terseLabel": "Loss Contingency Accrual, Payments"
       }
      }
     },
     "localname": "LossContingencyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyNatureDomain": {
     "auth_ref": [
      "r242",
      "r243",
      "r244",
      "r247",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.",
        "label": "Loss Contingency, Nature [Domain]"
       }
      }
     },
     "localname": "LossContingencyNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment [Member]"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r157"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
        "totalLabel": "Net cash (used in) provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r157"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
        "totalLabel": "Net cash (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r94",
      "r95",
      "r96"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r80",
      "r96",
      "r117",
      "r127",
      "r142",
      "r144",
      "r148",
      "r163",
      "r171",
      "r173",
      "r174",
      "r175",
      "r176",
      "r179",
      "r180",
      "r185",
      "r198",
      "r206",
      "r211",
      "r214",
      "r224",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r371",
      "r373",
      "r429",
      "r485",
      "r503",
      "r504",
      "r546",
      "r574",
      "r612"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net loss",
        "totalLabel": "Net loss"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-cash investing and financing activities:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncurrentAssets": {
     "auth_ref": [
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-lived assets"
       }
      }
     },
     "localname": "NoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "us-gaap_NonoperatingIncomeExpense",
        "totalLabel": "Total other income (expense), net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesAndLoansReceivableNetCurrent": {
     "auth_ref": [
      "r221",
      "r222",
      "r415"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost, after allowance for credit loss, of financing receivable classified as current. Excludes net investment in lease.",
        "label": "Notes receivable"
       }
      }
     },
     "localname": "NotesAndLoansReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r600"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "us-gaap_NumberOfReportableSegments",
        "terseLabel": "Number of Reportable Segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_OperatingExpenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r198",
      "r206",
      "r211",
      "r214",
      "r546"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "us-gaap_OperatingIncomeLoss",
        "totalLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r650"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating lease expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Present value, operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r392"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Current lease liability - operating"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r392"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Non-current lease liability - operating"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r396",
      "r400"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r391"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating right of use asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r402",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Weighted Average Discount Rate - operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r401",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Remaining Lease Term (Years) - operating leases (Year)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Accrued other"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r134"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other assets, net"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r4",
      "r78",
      "r375",
      "r377",
      "r380"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Loss on foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": {
     "auth_ref": [
      "r3",
      "r78"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingGainsLosses": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) related to nonoperating activities, classified as other.",
        "label": "Other non-operating gain"
       }
      }
     },
     "localname": "OtherNonoperatingGainsLosses",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeAndExpenseTextBlock": {
     "auth_ref": [
      "r153",
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the components of non-operating income or non-operating expense, including, but not limited to, amounts earned from dividends, interest on securities, gain (loss) on securities sold, equity earnings of unconsolidated affiliates, gain (loss) on sales of business, interest expense and other miscellaneous income or expense items.",
        "label": "Other Nonoperating Income and Expense [Text Block]"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeAndExpenseTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other expense, net",
        "totalLabel": "Total other income (expenses) , net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.",
        "label": "Patents [Member]"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentsForProceedsFromOtherDeposits": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash (inflow) outflow from deposits classified as other.",
        "label": "us-gaap_PaymentsForProceedsFromOtherDeposits",
        "negatedLabel": "Deposits and prepaid for equipment"
       }
      }
     },
     "localname": "PaymentsForProceedsFromOtherDeposits",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r155"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
        "negatedLabel": "Payments of tax withholding on behalf of employees related to share-based compensation"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.",
        "label": "us-gaap_PaymentsToAcquireIntangibleAssets",
        "negatedLabel": "Purchase of intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquireIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment",
        "negatedLabel": "Purchase of property, plant and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PolicyTextBlockAbstract",
        "terseLabel": "Accounting Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [
      "r566",
      "r567",
      "r570",
      "r571",
      "r572",
      "r573",
      "r667",
      "r670"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r585"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r535",
      "r548",
      "r602"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid income tax"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromBankDebt": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from bank borrowing during the year.",
        "label": "Proceeds from bank acceptance payable"
       }
      }
     },
     "localname": "ProceedsFromBankDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "auth_ref": [
      "r38"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "us-gaap_ProceedsFromConvertibleDebt",
        "terseLabel": "Proceeds from Convertible Debt"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r5"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from common stock offering, net"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r38",
      "r593"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from line of credit borrowings"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r92"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from disposal of equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductAndServiceOtherMember": {
     "auth_ref": [
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other.",
        "label": "Product and Service, Other [Member]"
       }
      }
     },
     "localname": "ProductAndServiceOtherMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r28",
      "r610",
      "r611"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 7.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued product warranty"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r104",
      "r120",
      "r121",
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r105",
      "r131",
      "r427"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, plant and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r8",
      "r419",
      "r427",
      "r563"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment [Table Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Lived Tangible Asset [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r152",
      "r229"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Allowance of bad debt"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfBankDebt": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to settle a bank borrowing during the year.",
        "label": "us-gaap_RepaymentsOfBankDebt",
        "negatedLabel": "Repayments of bank acceptance payable"
       }
      }
     },
     "localname": "RepaymentsOfBankDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfDebt": {
     "auth_ref": [
      "r589"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for short-term and long-term debt. Excludes payment of lease obligation.",
        "label": "us-gaap_RepaymentsOfDebt",
        "terseLabel": "Repayments of Debt"
       }
      }
     },
     "localname": "RepaymentsOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r39",
      "r593"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "us-gaap_RepaymentsOfLinesOfCredit",
        "negatedLabel": "Repayments of line of credit borrowings"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r39",
      "r448"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "us-gaap_RepaymentsOfLongTermDebt",
        "terseLabel": "Repayments of Long-term Debt, Total"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r64",
      "r344",
      "r661"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r40",
      "r130",
      "r160"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. 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.",
        "label": "Restricted cash",
        "terseLabel": "Restricted Cash and Cash Equivalents, Current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage.",
        "label": "Restricted Cash and Cash Equivalents [Axis]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [
      "r130"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents [Domain]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock Units (RSUs) [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r71",
      "r109",
      "r424",
      "r443",
      "r445",
      "r449",
      "r466",
      "r563"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated undistributed earnings (deficit).",
        "label": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r126",
      "r168",
      "r169",
      "r170",
      "r172",
      "r178",
      "r180",
      "r225",
      "r226",
      "r340",
      "r341",
      "r342",
      "r351",
      "r352",
      "r363",
      "r365",
      "r366",
      "r368",
      "r369",
      "r440",
      "r442",
      "r451",
      "r670"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated undistributed earnings (deficit).",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r199",
      "r200",
      "r205",
      "r209",
      "r210",
      "r216",
      "r218",
      "r220",
      "r299",
      "r300",
      "r412"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, net"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r125",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r303"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from Contract with Customer [Text Block]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.",
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]"
       }
      }
     },
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of cash and cash equivalents.",
        "label": "Schedule of Cash and Cash Equivalents [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r599"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r54"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r45",
      "r46"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r22",
      "r75",
      "r76",
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r9"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of non-operating income or non-operating expense that may include amounts earned from dividends, interest on securities, gains (losses) on securities sold, equity earnings of unconsolidated affiliates, net gain (loss) on sales of business, interest expense and other miscellaneous income or expense items.",
        "label": "Schedule of Other Nonoperating Income (Expense) [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r53"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r16",
      "r17",
      "r53"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r46"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r204",
      "r208",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r220"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "auth_ref": [
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling and marketing expense.",
        "label": "Selling and Marketing Expense [Member]"
       }
      }
     },
     "localname": "SellingAndMarketingExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SeniorNotesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bond that takes priority over other debt securities sold by the issuer. In the event the issuer goes bankrupt, senior debt holders receive priority for (must receive) repayment prior to (relative to) junior and unsecured (general) creditors.",
        "label": "Senior Notes [Member]"
       }
      }
     },
     "localname": "SeniorNotesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "us-gaap_ShareBasedCompensation",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cancelled/Forfeited, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r323"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Granted, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r323"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Granted, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r320",
      "r321"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
        "periodEndLabel": "Outstanding, weighted average fair value (in dollars per share)",
        "periodStartLabel": "Outstanding, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r324"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Released, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-option equity instruments exercised by participants.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
        "negatedLabel": "Released, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares under non-option equity instrument agreements for which rights to exercise lapsed.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations",
        "negatedLabel": "Cancelled/Forfeited, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "auth_ref": [
      "r12",
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
        "periodEndLabel": "Outstanding, number of shares (in shares)",
        "periodStartLabel": "Outstanding, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r314"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Exercisable, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r314"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Exercisable, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
        "negatedLabel": "Forfeited, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r52"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Outstanding, aggregate intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
        "periodEndLabel": "Outstanding, number of shares (in shares)",
        "periodStartLabel": "Outstanding, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
        "periodEndLabel": "Outstanding, weighted average exercise price (in dollars per share)",
        "periodStartLabel": "Outstanding, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "auth_ref": [
      "r329"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of 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.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
        "terseLabel": "Vested and expected to vest, aggregate intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
        "terseLabel": "Vested and expected to vest, number of shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Vested and expected to vest, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Forfeited, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock": {
     "auth_ref": [
      "r20"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of number and weighted-average grant date fair value for nonvested performance shares.",
        "label": "Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]"
       }
      }
     },
     "localname": "ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "us-gaap_SharePrice",
        "terseLabel": "Share Price (in dollars per share)"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding",
        "periodEndLabel": "Outstanding, aggregate intrinsic value",
        "periodStartLabel": "Outstanding, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Vested and expected to vest, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "auth_ref": [
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r52"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
        "terseLabel": "Exercisable, aggregate intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r52"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Exercisable, weighted average remaining contractual life (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited.",
        "label": "Forfeited, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
        "periodEndLabel": "Outstanding, weighted average fair value (in dollars per share)",
        "periodStartLabel": "Outstanding, weighted average fair value (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r110"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Outstanding, weighted average remaining contractual life (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the 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.",
        "label": "Vested and expected to vest, weighted average remaining contractual life (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "us-gaap_SharesOutstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r399",
      "r562"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short Term lease expense"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r97",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r11",
      "r34",
      "r126",
      "r146",
      "r147",
      "r148",
      "r168",
      "r169",
      "r170",
      "r172",
      "r178",
      "r180",
      "r193",
      "r225",
      "r226",
      "r288",
      "r340",
      "r341",
      "r342",
      "r351",
      "r352",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r404",
      "r440",
      "r441",
      "r442",
      "r451",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [
      "r168",
      "r169",
      "r170",
      "r193",
      "r412",
      "r446",
      "r452",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r465",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r484",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r505",
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables",
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r168",
      "r169",
      "r170",
      "r193",
      "r412",
      "r446",
      "r452",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r465",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r484",
      "r486",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r505",
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-comprehensive-income-loss-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business",
      "http://ao-inc.com/20230630/role/statement-note-1-description-of-business-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments",
      "http://ao-inc.com/20230630/role/statement-note-10-fair-value-of-financial-instruments-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-maturities-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-schedule-of-notes-payable-and-longterm-debt-details-parentheticals",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-interest-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-other-income-and-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-option-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-performance-stock-units-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-restricted-stock-unitawards-activity-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-sharebased-compensation-details",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes",
      "http://ao-inc.com/20230630/role/statement-note-16-income-taxes-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-asset-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-revenue-information-by-geographic-region-details",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies",
      "http://ao-inc.com/20230630/role/statement-note-18-contingencies-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-2-significant-accounting-policies",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-revenue-by-major-product-category-details",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables",
      "http://ao-inc.com/20230630/role/statement-note-4-leases",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-components-of-lease-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-maturities-of-lease-liabilities-details",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-summary-of-cash-cash-equivalents-and-restricted-cash-details",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-potentially-dilutive-securities-excluded-from-diluted-net-income-loss-per-share-details",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-inventories-details",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-details-textual",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-future-amortization-expense-details",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables",
      "http://ao-inc.com/20230630/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r11",
      "r68",
      "r69",
      "r109",
      "r447",
      "r505",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Public offering of common stock, net (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r11",
      "r68",
      "r69",
      "r109"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.",
        "label": "Issuance of restricted stock, net of shares withheld for employee tax (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r11",
      "r68",
      "r69",
      "r109",
      "r451",
      "r505",
      "r517",
      "r575"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Public offering of common stock, net"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r11",
      "r109"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.",
        "label": "Issuance of restricted stock, net of shares withheld for employee tax"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r69",
      "r72",
      "r73",
      "r99",
      "r467",
      "r483",
      "r506",
      "r507",
      "r563",
      "r576",
      "r594",
      "r601",
      "r648",
      "r670"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.",
        "label": "us-gaap_StockholdersEquity",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "TOTAL STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited",
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r387",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r387",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r387",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events",
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r406",
      "r408"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Subsequent Events [Text Block]"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-19-subsequent-events"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_TableTextBlock",
        "terseLabel": "Notes Tables"
       }
      }
     },
     "localname": "TableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-tables",
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-tables",
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-tables",
      "http://ao-inc.com/20230630/role/statement-note-14-other-income-and-expense-tables",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-tables",
      "http://ao-inc.com/20230630/role/statement-note-17-geographic-information-tables",
      "http://ao-inc.com/20230630/role/statement-note-3-revenue-recognition-tables",
      "http://ao-inc.com/20230630/role/statement-note-4-leases-tables",
      "http://ao-inc.com/20230630/role/statement-note-5-cash-cash-equivalents-and-restricted-cash-tables",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-tables",
      "http://ao-inc.com/20230630/role/statement-note-7-inventories-tables",
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-tables",
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued state and local taxes"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-13-accrued-liabilities-accrued-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TrademarksMember": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.",
        "label": "Trademarks [Member]"
       }
      }
     },
     "localname": "TrademarksMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-9-intangible-assets-net-finitelived-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "auth_ref": [],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details": {
       "order": 0.0,
       "parentTag": "us-gaap_ConvertibleNotesPayable",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.",
        "label": "us-gaap_UnamortizedDebtIssuanceExpense",
        "negatedLabel": "Unamortized debt issuance costs"
       }
      }
     },
     "localname": "UnamortizedDebtIssuanceExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-12-convertible-senior-notes-schedule-of-carrying-value-of-convertible-senior-notes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of net unrealized gain (loss) related to the change in fair value of foreign currency exchange rate derivatives designated as cash flow hedging instruments. Recorded in accumulated other comprehensive income to the extent that the cash flow hedge is determined to be effective.",
        "label": "us-gaap_UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax",
        "negatedLabel": "Unrealized foreign exchange (gain) loss"
       }
      }
     },
     "localname": "UnrealizedGainLossOnForeignCurrencyDerivativesNetBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt",
      "http://ao-inc.com/20230630/role/statement-note-11-notes-payable-and-longterm-debt-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Vehicles [Member]"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation",
      "http://ao-inc.com/20230630/role/statement-note-15-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r183",
      "r188"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r182",
      "r188"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://ao-inc.com/20230630/role/statement-note-6-earnings-loss-per-share-computation-of-basic-and-diluted-net-income-loss-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares used to compute net loss per share:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://ao-inc.com/20230630/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.L)",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org//360/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org//440/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org//470/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org//606/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(4)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(9))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org//260/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "b",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org//280/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org//330/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//350-30/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org//718/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org//740/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iv)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a-c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org//855/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(7))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(14))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(17))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(19))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(8))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(9))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r577": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r578": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r579": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r581": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r582": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org//450/tableOfContent",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.1)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.14)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org//205/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(18))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(i)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7,9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "8",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org//235/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org//275/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>96
<FILENAME>0001437749-23-021971-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-23-021971-xbrl.zip
M4$L#!!0    ( '.$ U>.I,A#>!4  &T= 0 1    86%O:2TR,#(S,#8S,"YX
M<V3M75MSVSB6?M^J^0]<O6RFJAG?<FFGDIYR[#CC*B=V64K/[+Y,020D89HB
MU #I6//K]QSP(E+B!21A6[+XDL@D<*X?@8.#0_#CWQ[FGG5/A63<_S0X>GTX
ML*CO<)?YTT^#'T/[;'A^=36P9$!\EWC<IY\&/A_\[;>__-?'_[;MK]2G@@34
MM<9+:S0+?9>*"SZGUC\_WUU;MG7XYL/)Z>TWZ\?HW#H^/#ZQ#W^U#T]L^[>/
M#]+]()T9G1,+)/#E![CP:3 +@L6'@X.?/W^^_GGRFHOIP?'AX='!/[]=#U7;
M0=R8$,[2UH3;S'=>.WQ^@#P.WYT<)NT<'OJ!6*9-'\;">RVI\WK*[P_BFZI3
MVB$4 O0OZQ'?S75Q*2MN#3?R#0-A!\L%E3D]51?4%&X?X&WL<V@?'MG'1TE/
M^N#,BGG@G1P3C_E_%-,'2YX<X.TQD31I[A/FR&+2ZE:.MF1.<5.XD6\H@K3A
MA,BQX@\7UQNMF2/;-+J5[Q L1 E_N)-K&DI[2LABDW)\8[UQB1S)G5QSY.P&
M>4%B^[X]B&YFF[(*;S ?GRLG]<;#AO?BI^#H]/3T0-T=6"0(!!N' ;WD8GY!
M)R3T0)K0_S,D'ILPZL(3[-$Y]8-<@\SM@(@I#;Z3.94+XM#*!PD>=,M23RN;
M+[@(+'^C6Y5>T2-^S1T2J &FM O^92?];+QD'QW;)T>O@?7@0$.*4NP6B2#+
M.T0_;?S9CG=^6-'BGNV2_-%!@LR@H,4^;:]^=6"\&O&T^";-\4<SK@6#2B7'
MC?8'U ND&F?::[L:];2T39KCCY;:KHU'>BIGA[Q([81,"]TW!CK-!SSI@$_V
MVY;F7@WR>O9.VJM?[?'5PN2;*&MA[Y(YJX/3\4HS&>H#E#)QZGJJOV7+$38?
MAND-L=D^Z5\=K % /CT0W*,'/IUB"*SW+'A"Y'KA W&*4]W1NW4YB._S0)%2
MUY*KBP7S)SR^!!<Q*OB0Q'5W=&*I..$#$0[RJ8XF#A:"+Z@(&  \$QHJ C-!
M)Y\&&&G;233P+X^,7T.HDC398)"?TY6>T(5ZUROQDK[H_T\#"<;V:*SUDZOC
M$*^I.M#%"3WEE2U5RJ63IDI!%^:S+=9I(6A3G:"+A!BXE:>0P @:6 S6I!"2
M!BJ<MEWNA.H'K(5M^)\%2QN?13%77 86]OMQ=U454$?"Z=-,)4MD6_DJ6C3H
M+/9^.SP\A-7X1<PK^_/,=ZTOBJUUM6+[\6"-UX88H:3NC?^;^KWV3,2=XQ95
M'?.XT^^W[MOBGO'5Q)EZ/G:X[U(?".$OR3WFJE%Z3#RU,)$S2@-I1_-'8 .&
M&7?MT">AR]0<T ("'5F:0L@1P&*8" 6_SQ.Q\%<JEO4Y$LL:*K&L5^>17-:M
MDLOZD<CUUQY#[1QJ+PA>G]& @5'D,T!J70)3"#LVC##KU6U.T!YRZPY/&TB;
M3VR<<A5S^3@CE@8W4U ZT8-2VD1:?&+=I!)9K_IQ2M.-@ ,080;MV#U%9/ Y
MM3TNGP1#.LQ-0>I-&TB=9P6$" H%M%Y=@X1_[3&F[689<.>/&?=<*J1-_PPQ
M"'X"=%6S-86KMVUP-<R(]C_6%R5;#RC]<8/(F3WQ^,^G&:6*N)F"S[M6PQ)(
M9%VB1#UHT(T^#ZA]9+M4.H(MD 'Z;1Q*YE/9+L2N(6G*_>]QL<ZD Y->*"C\
M\1WX6KA6NUAQ1I=_CCGON9./;<FF/IO @@"3*H[:36/^U%[ H^(PVL'9]:1-
M.?W70J>KY=-* NLLE<"ZC278<^>?V(+>4S^D\+_#IY&([1U>3,Z4DT\+G8P+
MF[N(*_R?<MUSQ[ZQ/0IFZ_#PIA0,N>_HL-!]N(BX5HSVW&-OHZA(_8.A]3WQ
M5+B$:6Y@'0CF8""%]]L[M0D34WX_*O0[!OD8=/T2A5Y?5L)8( P\R8DPZOZ>
M8^.=38GP8=Z2T5I^084M9T30]D@H)VG*[\>%?L?H_$O,.5GWWU)A#9'WGKOY
M/;@.)K* BTYA5YZ,*7>>%+H3H^VK%;<]=^"O=KQ-N[07'DGV*&%H6V";]AZM
MH6O*Q6\*78RQ]6W,_A?K%OFK(?I+PG_/G7X*/@R(/V5CC]I$2MPH\FD';Y<1
M-.7FMX5N/E5/<L+7.E-\?[&^TWWW[]&A/2%,V!">P,*&3VP0D_@.(U'YK5!E
M 5U2(GKT37G_77%^!*/S2Q##^AW%P/S(92(&P"(58]^Q<*3^AW")+(EZ/&$@
M]K@_#:B8VRX==WCL-6B;PD!)CNPH_B6MVT@$-<Y?@P@VRF!=@ S[#H!CS&O?
M8R46N@AX,2XBOW7P? 514RXOSI"I(/U\Q=L:*MX1"O;=U2>8LA0AK(<]1L;,
M8T&GL+R$GBD'%V?'5-A^%K&UKE=L]]VW;VP>S&#)&^^0JWCZ88';1!T<7$'4
MD)>/BY-H*G*_0=[)CKH*T"/>^^[JMU%> RWHJOH(,$K[\M,ZFJ8<79PU4[&[
M2I78BK<JITAX[[NCWR4/7D >.@W4:X1,N;0X(:8"\OBI'2&_?7?C>WM*^520
MQ8PYG:O%:TB:<FUQ<DS%V5]3SGV]^,HCOV+$BSNQU.^VQ[Q!R91+BY-A*HX^
MSS+<=T^>VC(<2_IGB)=P'[93+J2(FBF/%N>]5. \3)E:7^[W.\]14[+1K2Q$
MF[@IGV]DNVKJ0:Q7R:]]+_XJK.6 B&CL=1FN*ZF:<GIQ>JND4,1Z-5+<]]W?
M2;U'9Q>O$S+EU>(,UJI^I'=DXQJ/SKYNP<L4'(KS7<W*2GK(U!2#= 9(+65#
M<#@I3HQ55IOTWB^H%^GL\4)JIKQ<G!5;*T+I_:I3-=+9T7KD37F^.'E66YO2
M8Z&RIJ0S"&KHFO)^<7ZMO&2E=[MN34%G!.BS, 6&DLR<3O5"CXO:BH/N@*BG
M;0H))1F]JJ*&'@%5U0C=G5])UI3?2VK82FH=>I?7UB=T]WL];5/.+RE>JRJ!
MZ!%05[?0'0"UI$WYOZ22K:HRHO=_S49X=_?743;E_9(RM_*=]M[W-6_>P_6
M, \F:?H0A,1[A)?[-U@80L.;DG*X\I?]K5<7D2C6*!)EWV%1O"%G#!)ZY$W!
MH3@]6+KQUT-!PU?)M?'2GI-_PTIN(;@;.H'M0.<I%\O$FZ9!HL_8%'R*<XQE
M\%E='2^M;R@AIB)10NL\EC"%V+Y#*]T3-C:PE%(T!8;BE&-VN[D?/HH]@L$_
M]VE\UI.ZF*X%.X\5C;B8PD)QQC&#!5LM-R)Q,-Q0EU>KSWX4R/L.(O-01)FA
MU'?9=)$YE.AR,H64XHQD#BG?4I%62,EEJWJT-*XM,3:M=&%J"D/%V<VFE2W]
M[-3:L3*<SPG$E\E)A4W0\#30ZR2A*9P6)V(;XA1KKY4NR2F,#?&][[@N+[#"
M "F,&*M<#,'/*"$N7.:%" K<I\^>$+SJVAG+CRJ5*?P6)Y*K2\:B0"]60"66
M4 &%T(M( 55^D#_7>+&J..M16X./!=SV T8\;QE! L^QEM1)HCCZX'BA"SB9
M"#Y_7B@_EJBF\%V<*J_#]^U*JPC2>$[W,-4*%C615A9JU8.^=9VEL9"UFJPA
M,+TMSK1O5%[V46>%;PK\9,KM1:1-N5ZOZ+88"/L.@)HB66.#0$,^IJ#1NBJW
M'R>:N$_'MX^&'2WFI@!5G'6O!Y0NX/8=:&7UVL8&(ET&I@!3G)JOJ@SOAQXM
MAREIJ0?1OUO0HO.@TXVM*?0T/0H3#TE4 MI*PLU6_4!3Y]\P $O;9,Y%P/X3
MY8&,;0YV86H*4L79^VI(*?&LLXQX_=YAJU-2#=:RM>-G"D4E1<Z:I[3VDUSS
MEY3,(:<Y+U.H*2F-UGLSJH=,4S?BY^O=T%/#@Z;+'Q56;>0Q!;V2NFPMZ-G6
M,)8<1S1MI/8(?0Q$F/B:\A.*9PB_[THJR1\5O_WGF!LC)E_/M0V#;CN)3,&V
MY)A83=CF2]'Z@5<7IQ5O.)L+(QLP,86FDA-JJ]^G[N-&;;]EYSN'"+'$PP_3
M%6:=NQ\'2QUE,@6]DA-T*Z&7GW?/8^%7:^-:S/98U<,%\V$2H#(PEZGKS-D4
M[DH.$VF NZM8Q#YEIW<61-&U[GAJSLL4@DH.(2D[C*+DB(H>,[7G2)3>Z(Z>
M+EQ-X:CD4)/*<RVJCKSH$55W,(6Y6%V?ARFTE&P05)^"T8?JNF[CT1D&Q G8
M/0L,O./<@I<IJ+0Y, 4&ENCLA+-8JGX\J7?D@@IU[(CO0$0;<.</.P0-Y-.@
M2)NY*5B59/QK8'6[$M,:HIC6#Q2SQUD#G&5>[%IYFOPDPGTBK#42P!#>WI=D
MZ&OPEGEO; 6W@S,E:P^Z!J"K"7 >!6=U/$U!J\7'UG3BK+U'4_Y#:@;C[1K"
MIG"A^<6V/K#6/@W.' 2T69@"0^-OO/6PT/99<M93]MIXF6TMZ-3,;&-.!E/
M*DE!5P!K=?14]NIXF6U_IX3MYZ):OZLZX6=%7D,)3.&N)'%=B3M5N-RC3AMU
M:U^G-#C_U5$VA9*2M/3&=S#[V4[C6Y8&_:]#W10&2I+-A5_.W"L<?#QXD.X'
MLEC@X*VNQ5=\<!))=?V(UZBGW*>@0@AG_XKW 9/]X_-08#'@P/+)G'X:E-YE
MGH<%6I\& =P?6(B"@ 4A,OLJ>+CX-$!'L@\,X#*P A VN3+G/KA&+*_@#BHQ
ML*+K8^)A/N[3P!'494%R>4$%X^Y($<!W'@BP/ZC7)[.M>>;>(V'WEBS5>PEK
MNE6WW%H]/Q/_#]" +@*D)K\\4 ?/P#CSW9LPP.XN#(IKWFS89WMUC\]1OF#W
M5(DDZ"T5#CX_4WHSP1=N@V6"65#3F1&8(-S4#*V[M[&(&P@;?TE4$YFL&T53
M>P*\!'&"A'EJC?.ST>_?Z'Q,1:)@[DHWF5T^)\RO$MD-A1ICFLE\-?K.13 ;
M"^9.Z;E"P_7U^9H:-8VV4S.R^/)PS8D/3]6(BCG^7%.KJL5VZC1C/OF_&97X
M(. @<LZO W=-J^HVVZF7.D6+BO0-??#(D$^"GT30->UT6CZGCAF=TGHQ+)?&
M\.>SQYT_5IJ4WN\F?Y!0,NZF"Q*0<XKC<=XI!=>WP@5HU]5[D'@VFQQ"?$<@
MDON="(8"WD$8_0T6+C-O^4/"K',-T]$(GIRWAZN9*%73&+E'G[Y:F">#Q^BG
MA/ZW@CGT5M Y"^=U!FE&8"MG\ ONA/&@\@46LQA\I*F-5.GJ-NUC-=R9]*?&
M'UH(+H7#) IUXP_!$; :@768@F_^,=9JN97S1T[RT8Q>,B'!03Y#%$+X"P,4
MO>2>QW^"A>$^_GTS^2H 'Q4F:$EH*RUT.1K]/:]J[LI6ROS5X[!.&5%GYG./
M3^%!<_(J5#78B@GH*P?<^'@-$R/,74;[A*G\I;>?9<77SDDA0?13"&(67+)
M7G)Q'LJ S^5%B&OY-9=I-]\*!X)#!![)?D&C_Z]\6+;ST ]D_&+<'?5@"'!'
M/#EP"J>%-#9U796!2C,=YLAM'4 J3):X&G2!2&!!F M.3[7J:D%#U'?)H#=
M@V"N'92)3OR@ZL,!209M66XMG:Z/: J7CA_'$G=L.@MN)C\D57M2&@;8[+&U
M>N,J@M):U\7O[R[5%^XVUIM=B3SSHE33&+*AWG*+5"R=8S$Q%9^YC.-7.H>>
M30557?-SK'[SK9ACK^-7XG$UN7H%_0Z&\BCY?S.!1:3OL 7QSB;0\#O8^0YB
M<(S ?U+O/EIPRY7VILAM6]J] A]2KG9?ES=CCTV5W6$F'!*/XMP(X]R(/*P#
MI7&_+4%,3N[TC/*;<2Q_B8*%#<U[N?/S_HWXX01NA)@0N"1.O"MVY=^*M160
M5LNM7-SAGO&(I^>5#9/]['B[>)3LB$=Z:K=^KO1+3J\DFH?')SL:K6T":K7<
MF3%(:5/D(IG3MZS%UJ7-RJ4]B[O4ZY5I^>RXS&VL N\Y+HM@4>10ZLI+P>>9
M3=B;2;(SF^C8NO=SIGD+=8]+)8L46]W:COQ\LF2])5&V.5FV?J?!9SKA M/L
MF'QWD!(.^1P"/(F3]C7QTTWVSE2>8UFDX]7"D$[>^-F!%+3(#K.)3=IUW;H4
M0>G@-;R]P)W??*RP?G$KPP*U;J'N#29&<8$>CZJP7(<19WAS>;>FDW;SK0A<
MA^D;3-DWA,Z$P+H6M:FX5$T^8Y.X^$F]G)9Y3U+]K0ZUR8Y=JL?9''.)J6V>
MB-E6#/&ZRH[7E4V*C-+3<M41"KAG&[WR+,^F,![":H%>^3@32^8H>YRC>3QO
M5<STK!)LZQC]Y$:)-_">T2U9"7JWQ$91.Z3/Z)05__USR>\0F*O:4CP+QE&;
M(7CI'Q0G3+@!<R>,ZLI":GN;,*%L]OC.ZB!9YTE'B?QD$_J&;;YS/SKH8\-(
M)4;I[(TV'#NL6E$&^7SVC1&6J>=X?+RWX[GK2(ZUON1B0M7Z7^:'7E-FK6*P
MM3MW795^MK%[UT?HT@7F"%HX?)Y?1JY?W,JE\6A&CP\/OT7E]W&N?[FF1V63
M;=7J;;RVS!201@=LJOS+10@Z';_94+19KVW5?7A[$;]/P7RZH6/QW>W4181,
M!IM9IX+K6RD_#FO,GZJJS]&,"3=3]9G72*OE5NKXOV$4>W,<[@+!?>:LBB<+
M7B5IT'XK]5V])/MDGQ:(#/<<C+=N!ZV+$5I]2Z>[[=NQW7?+;WPCYED<L2G%
MB_)+@->-V#:EM$/V><2O*-09]#%9OSP/E'\;P)"=*QB\#&OJ/N@Z)';((BV^
M#E!GH38D=]YBNO"IZ;U#=NCTC8 Z,W4C_C*LJ LI'1([9)$6Q\'76:@-R1=A
M,?VST-N;L &/%V'39N=^M[=K0SXOPK:UQUNW-V<]Z1=A0=U)0X/"#MG#V+&B
M=68SQ^@E6+?Y@<&M[=N"U4NPL.[C7$]@=ZQQDCI;4(=/H],DTVO@]#GY-ZRY
M%X*[H1/8#G2><J$_YW:GO^NVU$153>?=L<(;VU,O':N)COL43VGED^ABX[5I
M0V([:*7\5EBD6)M,4 N".V@MS8=IL_WNZ/H6!D$YB_ZA?X;LGG@*]IAJR"Q3
MU'T9SN<$1DN5F]?MI(NH)Q3D97I'$ZRM2.Z.Q=[9E @?6$K;XU)B"B-:#JDQ
M/0SBW- $/RL$\11J[3(/CPJV?17EJT3;6E==##\R\Y?@A45R8("WC'1G][C5
MXB23"'UPO- %@TP$GS^):QY/HI?@+\U118/ [ECC/7@6C]KG OV?_:V+-AT*
MNVH/3424=-H=K7_%9:)ZS]M>> 2NJMV7Y%WOZINZ.#'#X\785!-:NE1VQRZG
M6(1!_*DJ/%#Y1JEF&/7!#>K!C.06M-!%65?J+\".(;[E8I,Y%P'[3Q2&-4T.
M=*.]^S;4?#AKN^^$)22;^FS"'#6Z1 >*8B7:@GM,?0PJ^5%EC@8TGLPFT==S
ML/IK3N#/_P=02P,$%     @ <X0#5RJ#T=+H$   >0@! !4   !A86]I+3(P
M,C,P-C,P7V-A;"YX;6SM76UOVS@2_G[ _0=?[K/JI&EWMT6S!S<OA0&W"9+T
M=N_3@I'H6*@L^DC)B??7WU"27V*+U%"2*3JWP&[2V!QJGA$Y,YP9DI_^]3R-
M>G/*1<CBLZ.3-\='/1K[+ CCQ[.C[W?>X.Y\.#SJB83$ 8E83,^.8G;TKU__
M_K=/__"\+S2FG"0TZ#TL>O>3- XHOV!3VOO]\^VHY_6.WWT\_7#SM??]_KSW
M]OCMJ7?\BW=\ZGF_?HK"^,='^>.!"-H#)F*1_7EV-$F2V<=^_^GIZ<WS X_>
M,/[8?WM\?-I?MCXJFLMO@V1%L-GX?3__<M5TI^NGTZSMR8</'_K9MZNF(BQK
M")V>]'__.KKS)W1*O#"6$O$E+R+\*+(/1\PG22;&2@@]90OYE[=LYLF/O).W
MWNG)FV<1'('4>[U<=)Q%]):.>_+W]]OAZIF$ 6_^&Y]-^U+@QS^='O=EFS[P
MF] IC1,O9@GU/D S0/ 8/D34(T+01'@Q3;QQFJ0</IDRGH1_9G@\^CRC,7 3
MT(2$D0#,&0L33L=G1X2PT%L^2G+YS_:?E"QF,.Y$.)U%]*B_(06?1'X:9;0C
M^+MH+O%V(9"<3?J<4)@'Q=M:<AHQ_X78)'=B.6K'1#QD0R 5WB,ALXS3/HT2
ML?PDDW FW>*#/Z[".$SH*)S38+AB?)#Q/=C@]3)G]1MP=<LB8.#Q_HE&<_J5
MQ<EDQ7E$'FAT=K27OG.I1')R,%Z\/4>D4G ]&">4_X<2?@5TK8A$U['[\MB'
M* Y4"BSEK4MAH\_#D,(],-#Z8'C1Z8'(X8FU+H5UEZ[(X!M-S%%N$.EP;-CK
M ?=[C(._>'8$/N<3#1\G2>& YOT0[K\PY+N^4M&B+]+I-#?,P-YT23_F;&K,
M.]O'.P4^47(X>65RV)WA6$F\?0620+E%6(&<O@*!5#M%6&F\>SW2*/<(L()X
M_\H$H1D1G_IE*[X65\3OO(C"FEMX()&4ATD(_V3C_$-8D9.',,H_K+<,KMN]
MC;5O,][L+7AEQ&4DF1H5/"UNR$+"$!>IQD%%D=EVO[1,#6/C!7NS_AQ#;[8P
M;]"9F[C;@GQ :+4+[7K]N(NV8D%=LR.'\>H6SK6ZL8IU1,%WH=<SF>H 5DPM
MD"FYD]@R[8E33VUTZ:0,L/JY<7\'@%ZMKQOWYSYZG?YNWN$!X%?J\Z;=.8G=
MS!=OJ5<WPZC&MHRU/39<"J;:D$:K840;<57K0Z1^^,Q&5-7^C*D?=K<15[4A
MCVK/TJ4 J_T)4UL<EC)UN( =:S<(Y))AV8\,#LZ4['4H--25EC)R>\9?U[NR
ME(';+WJWS<+^X6O\IKUGVWZ&9G/XBW&95]K\=[WT&KH_&_DT0V8L)="&!1\+
MF9\5$QI\82R0.=SK\2T5E,^I:DEK0&EU ;_B2UVS5-:D&QYOR=-7&"4\))&9
MT"L)N\'S&^,_AO$-9S[XH$: JBG=#'Z4CB76 *!++B<:''(XNN1'HK%A]9M%
M0WERDOT6WHPL2+8W(0Z\B,6/\ JF8$\>$D]N/PE2^(J-*]O6LZ[[9<*&2;:!
MP)(='P$G]\#)!3"BBD&7-+$;6M]@X#SE'-X#@M6MEIUQ_(W%/IKIW<9N6J_2
M,<',,+EDL$SPE XLFTK\U".^SU,:O"BG*_NLIH*N_0 KRK<A=SC%NBLD^<D?
M@_PIPQBT-Q4*;81H::*-]*R,UG@'P5PNV(/E&EW#%H+*JL(LV+J$@<,6E'ZF
M,1V'B=!K>QQ1%S@VQ(N"H&[?,?=7C)^SZ304<DNW*(JL!W%P3YZ52[.:O72!
M%%958YIQ1:(KBGQ9%41=X+@C$>'8P:9H;)7OZV1"N>EDP1%9Q0%C(4C]Y#?"
M.8F31<8<B<XC N-C'-) #\B0VBJR;&[>Y&L6/0I-2S>=U^HAQ S0N>3&&B$S
M,9\N!6",0)KH#)>R=2B0:$?3I4Q<G3%:SY=P*0%G_#[1'CH6Y4^NH#1Q1[#@
M?G8-7"W3CD7[BVMH33QC.Y$2G\$:'S1#(/\E6!0&\F0I;]4@VY/H$S'QQA%[
M$EX:DS0 :03X6$GC1^PY6M(2?XWB)</8Y[)^X(+FOX?QJKP,='9IA4%9U*)!
M-RU$6C1/OY6S\'K\7>1;D@UY5U"WP/(MG17&XGI\PV&DA#,2B>MX5"0>9!P3
M)/=-9B8*Y[:,]P;=V%T&;^P$OQ[GXP'D>\[$3A3,A,0JAG.8B?+_R_^FX9Q$
M4NBWX,_QT(<I*;\ 0;_\8*/E#>4A"W:'FA^E\O2]RV=_0N)'>@M3_W(\IKYJ
M+=<-$U;E?$%GG/IA;E/C8',<*(2"H+"*(!?>]7A3H-=QHU>W>DD7H9@Q0:(O
MG*4SH("_P7J L@+S7N@M,"8*0;G#6&?;5U=:4A&$-Z*QBN(+"4&O"]#NN:C#
M7#/F1VV<*&#@B"S7%&WK'_!.62KU4ZFA,Z9S!,TM]2G,DCJ =DF[QY3',,"?
MI9L1-Q-H^A[<0+BQG#*%5D+:,:9ST+^<P"(W3";GJ4A \ESEQC?LI6.DPW75
M+1I7"4W'*#(W?3WW\5!4A!WCR6*[18PAMSAH1&K2CC'=<%ARA=K\*HZHFSK>
MT?#JNJARS%<#YQ/"']5J'$=F%<LWFD@?](:S>1C0X/,"EN=@5U8KQ(&?A'.=
M!C?OP 5\\EV(I $^30<NX%L'C&KBTW1@&U_NY4B_6PUAMXW=Q'BQE+EB/"M=
MIX&XXFR:Z5U83\N5@HIY$]).,-W22$92[QDH7.FU3%@D5ZC [QVH+?H9=')P
MSJ8R,Z4+*S3MKA/L]VS@P^J<T^W#&"M 5M)UBP8&&DSO9'$3D5A&-&4$8C;5
M5&X8=V"[+&4U;SZ3^(>FNEO7M#.>AT*D,CQR/9:Y7A;?)<S_@0"@I>L,S2B,
MJ0"6. U"S&LH;=\9]W<DHC+Z;SA!S'NPC7 >RDPEJ-D+ECXDXS1:AD?4D"I)
MK&+8S,Y4S')=T\YXQLR+RO96N3>R[PY9[^\QK!2C\$\:K .V,(II^!CGBV!_
M<0'KKCEP"$X\>(^?Z1B^!H=$@:UYAVZ6!M;P_5D=#>%2T6 SS(T">BZ5%;8M
M!F1$VJ6BPV8B0*=)7:I&;/K630)8+M4CUL/=3C%.C8I%SS%!U,E_NE3+V PU
MOG:F1D6CJZ^Z+9<'*Y(/S@\#C(.+=G2.W1\!IHDQ-/:30\1>54R 1O_V$-$K
ML[MHV*>'"%N=:43C=M>K:U2NB\;__A#?>U6^'(W>QBZ49N UN3,T2O==./,R
M(S1X&[M3]F7,&BW1NW1A=-GWS0B563JN1ICJ8) C\Q$U0E2NBP"?6#^ X!06
M>]U\5(W);UL$NLHBA0@0B=)#F/M8Y*U46AQ L+K&2!BIDVHU9K]K(Z"=76P'
M$+"N\>;+\\ U@M2NO73#W/$AA*.1B UV%=6(1KN*NKJXP24CWM$62];(DW(N
M:>VL%"O+A%UR([J7HFM;1EU:\73_=NIN95A+L?,S/MCJ1>_MC _=(UPXXZ.:
M/TN'3<L$\?4X.P\=ANX=Y?/0I^(.5F%+=K:/(Z@DL+M%FL8@R4@6MP13>;I[
MPK-L;W$*E0($DLHN$LZ$D,?U* LO2UK8WAI7Q.#E6N4\U]N@<M:*.\^O;]17
M73Z#9$$_@W;BBR%, "&/GI;5:/D]-<LCTA2(+3RQ PD"G\5 *P[XTZ)7MK;,
M>2XV_;Q2M+*^\5$D4M/F\JL<8OKF?VTDV^62Q6SI4N>LZ$=%97N[Y]PN62F8
M4,E9V:X;;BO'A::E_7.$38<(CLCRM@A!P6F6'OT%G=.(99D(/0P4C644<PJ+
MJZ7YW"X"AS5'OOB0J4;X+U#O+VC0D]T-(32_"30.OA+^@V[,8 6P:H)&&R/V
M%Z(K\P>9N:?N4@RI E+C,>A2U%%M8%C-E8I+;Q*%SD!?NA2C0V'#JA4GAV2)
M#\$0"U&G$M1(,!5^GDNOI]I!8J8+&Z?>F"$^S5K3)6UAA,K$$79I:-J(U)1-
MVL9UH:]/-@<X>LIC&LRN"!W4ASBQ5$0('<K\0 <S3B?0#EQ8V25P[T4 ;G^'
MO>.?Z$)>R)A=:VFB#;[R49==GZL.%R H_@JME@?/2D2WM:OQGI-8P.(WW]:=
M_96/S^4^R $/A4RWIQQ^YGGGBO=E\<ENGC.!&; M[TEQ#Y7U46#'.&6WE+[S
M(EEO(3(ER^*ERLT^]&AN0&M>SUJGZSV;FX9\6;(KF]61N!0C@L*JQLX8D:%6
M!;\[WW>3/LK8J,C!Z-I:/M.)\43>[5PE7'5#-VW,+IME:UJU_%VR+%HLZ%GJ
M4J!&BZAJJ%DT9._S*Z*R'W1=7NB1./#XJO@P_S[#S1>K>Z501/6,H&VV;!C0
M;C#96M3E]:I;5:J#Y)QPO@ ]]&\2I2IC841[.)<V:= V[M-V]<)+]FJ]Y9J]
MN&E\VWF)K"7IN&3*6Y=,(WGLW7Z>O)4AN#GEB=QD[PD:AXQG7PE/^!,:I/!I
MIL5S;KVY9#</SRG(ZEG,_3-BPT;:0F$MU+EB2G,7([*UY6OT'I)A#-,TE2_G
MBOAT,)5':"A8KVIN^3A<DI]@1X.,KV(SO'[%BB-RM'JK:N2P>CB=LBMXB+C!
MZ*"1"(O5;<,(8EN/<TGAXWBUI-9?PWVT6Y$4S>'RFI9=<[PNTJR^YM64W,V%
MA^YE[/4(5SO%+2AP]=ZD37W_SF,R^;5,NLM@S5)O*;^HJ>M;>)05/=\:GXTN
MK/_"P-3$DJV[]$&$P2)/26ZI#$Q3JZI/G3)=)DFK;G2HT8/=':NOY'KBG9I+
MR:.03*HWAR%(_A]V7758JH[CG;4PG5PRMWC8>(7H4@[._+7BIZ)+!XF8XZQW
MKT$')9\/))+1"4],*'#F^?D1Q=XLJP)JL=#3\#G=E'?68K*1NR2/VQKX/ITE
M\L'B\IGZ*3QA$ ?7:0+\QM+E+LZ-+O.AZM";F#H%VYL!(GC6YD& &F;Q5%:M
M\=;9Q>4 <(T[X7M]@8 \;@C%O8[$-H:M0[,K >C;V^8^G:;9F:BJ6DQI!"J*
M>6OV8A=I$&0F3)Z&& ;#^)S,PH1$*D3ZUG8YU]VNV^$5NOFC*T9[61OK]1FO
ML.ID?6:S%H"BF65>-;<!ZH>/":D[F.3&K_JP=JEM(UNF6M3.$*YQ5WQ+MTR6
M3IKETW54=B-Y9??GZ=\#AJ0S#(I+<S00M-?LV$, *Z41.##!]@T9WW0@$$26
M4V(!':_96JJ>E$29E%5^!9;,^EEKV66;ZC=0UL3N!HW=VW.VMVBH[M>QSZ$\
MJ$<Z!_(:!,J%='+65W6JV=:2=85%KR$=66]EQB6+')#89-F+INMPNP_25N&(
M7,!1Z<>AZ3I$@[.^*!K[&:;"=%:^!UU;JUP7MR,6<749Q%RSII\6!I1=('IQ
MWV,YZR570EKC47&1D]I/P)#\M8-B3T@3$L8TN"0\!D;$1O3P GQ.7WE ,9[0
M[O91K =5SV?J+N==KGQ8 YWE4FJ[$IV5_38VDMR52/>(ST9RNQ(?/FF$A67C
MGJ]*6(:+ BRV]RY@:W[-M(U[ABMAJ,,1+IV'MI5$VJYVT7O6[NGT\O&$]??<
MT]RE*JVYD;6GFDM'%G[%Z9Y2+I_J)A%3]Y1Q&2:3>+9[>EF!")=F<$D_:X*7
MK&9EDDM:6P_//,?ED@;'8</49+FDUG&H,-EAEW0[^EUA"KA<4O (_5&_#-,E
MO8][@R89""RZGYU!9UXSXZBI*P/7UJRS;-8,1F'3999EHV8\ IOBLVS>*NQ:
M==&02Y-+$X!^ 4]7-.C2#,/A,4T;N#33< @;U5^[-/&0<#'%V2[-.W3I#$.)
MPKEY6 >?L@H*L9FL^$+^> #;"9_\#U!+ P04    " !SA -7-*WOO4Q0  "A
M: < %0   &%A;VDM,C R,S V,S!?9&5F+GAM;.U]6W/C.++F^T;L?^CM?>9T
M7?HZ,7-.^%KK6)?EM5W=9^:E R8AB:<I0@V2+JM__0*D+,DV 29("DS*&3'3
M94D F D"B2^O^,=_/BZ2;QZXS&*1_O/;]W][]^TW/ U%%*>S?W[[Y38XNCVY
MN/CVFRQG:<02D?)_?IN*;__S/_[G__C'_PJ"3SSEDN4\^N9^]<W=O$@C+D_%
M@G_S7\<WE]\$W[S[_N\??[G^_,V7NY-O/KS[\#%X]W/P[F,0_,<_DCC]X^_Z
M/_<LX]\H(M*L_/C/;^=YOOS[=]]]_?KU;X_W,OF;D+/O/KQ[]_&[I];?KIOK
M7Z-\TV&W\0_?53]NFKX:^NO'LNW[7W[YY;ORUTW3+*YKJ 9]_]U_?;Z\#>=\
MP8(XU3,2:EJR^.]9^>6E"%E>3F,C"]\86^A/P5.S0'\5O/\0?'S_M\<L^E;-
M^C??5%/'9"A%PF_X])OUGU]N+E[/19SFWT7QXKMUF^]8DBB2RQ'FDD^-I#Y-
MH*;@!_WL_[W3,U\MU3+(XL4RX=]^UYVH2"Q8G 8+OKCGLB5YM6/T3FB\X*G>
M*4'UN+:T&H;IF]RY&D^&Q3T/-D]L2;%EI#W.,9^R(LF[3_+S<8P$/U'[DE0F
MU'8/_Q:*Q7=:AKW[\>.[[TI2E0C(N7I*'J0BY\'[[P.1S[G4K94,#)3$#/CC
M4E'!G_/ F(B#IZ%*8MU',G*AN(W36,NA2_5QW5J3NP]^*BKX8\Z5Y%_+IR="
M$A&^>G/9TYO/>/BWF7CX+N)Q283^HYR2ZMWQ^/>S-(_SU>FS#9*P>Y[\\UO3
MSQ4UB1;#0JXGQ3\U]>MM+U1=\AE+JF<?/<99#6&&%JUIFK+LOMQS11;,&%M6
MA/$DSYZ^V5*X_N+WTS@+$Y$5DM^IE7*LQO_CZ#[+)0OS%Q0[]/#*P41O@RN1
MBJ5&.PH:790[XBB-SJK]L"'3P)#[ %[YNWW:^$ID\ OUY\NEU-QP&'KOV'W"
MFVA]ULA&YU9T'LGP&R$5F/WGMPH05T?+W_62Y-$_O\UEL1EN?6JUQ#A3*1:@
MR14M]H9ZLD_^#)BF8M$FBD230/?+B 7J&%[7\_4E ((7R-'[WE_-\Y.IU;NI
M/]ZZ<K3^4J2Y6M1G23FO"M[PF?[#F>,=7:7-%K-)#L^[JEEJ0.2!Z'X2;?G^
MQW<U.+-/&/TQ8&&H9BM2>C"[CQ/U$+YY3U $;1W$!W@&$$"XF7"S!>4<A:$H
MTCR[9BLMAXZJY72Y74UJTY;;>>>KK30X*:34(JP!F>[G(:1?$/XF_$WXF_ W
MX6_"W[N\[?.\]8?1?PPXDZG2'K) $98%:LL&V9Q)5T-WXS@>D#J0!@+K!-8/
M&H2>K7?!-9>W>ODW:0Z-[0E"$X0F"$T0FB T0>@^(33PX/&"AB,1%N4?97!$
MN<94GZF0BS(4# Z'@0/M%P\[$;$70'RD'A]I$LX3-JN!>K6_[Q%\GFAQ(CD[
M$='+0]KT\SZIJ=2_<[5?6/(OI;:<I=&I>GEUE#4TW2.5I^M55#U;[=)81.?J
MNSKHWMC6&YUZCF!4OFKI@<:+[2XT 5QH<[_4UL%;2%,/5%:KS;R%K.T\T/?_
M"B9S+I/5#5\*^5*-!+3T0..=9 J7Z;?72*2IJ0\JU2-LE.W\O'?SRE$429YE
MZW_T[GQOM+58VOJB4Y]P$WDGOIHM0L:6OFB\%@K")/^.EX93NKFQ+TI+6#Z1
MUU(\Q%7V@)560_.]4WNB-H5DR86"=X__EZ^,9!K:[9\^L5B(]#97F+_4 +))
MD9<9*DHM,!,+Z+1_RBM85DE ]6#]AFLA!Z0Y#E,P+FH\&J:KQYXMN)RI5_-)
MBJ_Y7"VR)4O-.\;:>N^TGL<)ORIV%?%7!+YNXH4J>:(DW4Q(\\S5MMH[;3HZ
M3JK-5P+44AR?:/>=7%F/&E O#[0K3,C"/'[@"KFRM2RQ$&UKOG=J;_@LUC:?
M-+]B"_/4UC?;.W6W<YXD39N[KM'^*5NP)#DN,@4.,_-!4MMJ[[3=L<>+2-N1
MIG&5&MD@?!K:'Y23$4"3T":1N4C-,MO49(]4W?*PD&H2WG^XOXOS6MW>U,0#
M56>/X9RE,VZ0(;9F>Z1.J;X:9=ZN%O<BJ2&K]O?!W'QOQ@T&LD.1,ZS-F]JS
M,PQLZQ0NUD;/K]'L&'-E#Z"- WG[@)0W&^P#LO81'6L69Q:0I^_1\03S.P'9
M^P$=>T!_%9"_'Y'S9_!T ;G["2UWKPW^0)9^1LN2U04$Y.X7M-Q97'#00WO_
MX2RM5Z/5,0;E#RLJ,1D4H7QA120.-CXHJ_@0BH-9!LHD/L@"]+5"&<0'6D!N
M6BA[^# +W&4*Y1$?<H&ZL*$<X@,RYE Z*$_XX(O=/ M5R?$A%[N!%\H7/L1B
ML<-"F<('5YIMWE#>L.(32)0$E$>L\ 3BG87RB!6A6%S\4-:PHA.+_Q7*&E90
M @AI@;*(#Y4T.?:AG.'#)JY!<5M.]UX *HAX%LIXJ<<.Q#2X?[%OH#6@FL;Q
M408*1@,LE^8UQ_J;WS^SM)BJHT&=\NGLG(7KJ@$7Z;4,/S];*6N7LV,O%\>X
M@<1_%0IZ3):YX D/<RG2.+SCX3P5B9BI-7B91V9"7?OBB$/$1<W;2-?/9+Z3
M>JT^;2E3'WXO[7-<+IG,5QH$UY#7U&SO-'YFC_&B6-3N!N/O^Z=*24,K576_
M[YVJ&ZW-&%[BJ]_\4&.<H9I?\5#4FW0 4\:7A53::,:/9I*7Q^7+75<KUEKU
M/0QN^G]'#L4JGA27TRV6.4JC8Y;%V61ZK5"C(KL*JFFH&=)^("KFXLK!4F0L
M44I9L52@+DP*#>DUF4*=O&G!HTE5 5:DF7&%]C3:V^-\T-U:5?3=5( X9HF^
MJ4;IL#Q7F^THBDK-AB7;-9L=KYP8K3ETAWDXE1BB$D-48@@=(_4(7#1 86P<
M6!5!T0F-8F)U(,DM>H87?J>TAQ);0YZ8GM<?J 14IR4@6EHUH;$%O6_$NLR-
MT>[$_114\[XC8=8_-'NGW?DC.IG54>V7W@_I3NNXI\B/GM:QP0"*:_'6($'1
M:%%&MP0A2!>#A.SP-LQ>!R +/84.4653JFQZP)5-NYK'_<5H? BR>):6"0&Z
M7&AUJ8%"BL%2)''H?E\7>#P/,1N.M-#% &\OTN!-^9)NM[OA:+,9KM=[H<GC
MY]:9[/EDSR=[_CCMF02L"5AC!=9M3B%_8/IC(/D#3PNN_@W%K'J&(X"VCN$!
M- .>3T"9@/)! ^6;:@><*TEU(M*2CM_B?'Y29+E8<-D$E5V[$U@FL$Q@F< R
M@64"RWV"Y7;GD#^X_'V0<)8YFYA?=O, BNL?V2G9[Y)G&>?K((QT=I1&YW&J
MPT,NRR>9,$:KOCB ,BYJ"+8?'&Q_$6ZEB[:4HAH<Y%[7 P,'ULP&4)]Q<S%H
M%L8M3Q)=%8&G2MPF9=S>0ATK>IWK(AYGCTN%N'A6FY_7:0Q2"TDM)+40'2,N
M9X<Y.MPFID>G!#L?I^@T*]C;$;U(=%06@7VL9@PQDF3:(=/. 9IV.JC__NPZ
M/P0AR^;5?_B?1?S $O5;5EY&+KEB*@YS'I6_.YI^6HSLP3K4FJI.!J1/!=/7
M:'!^RI<BB_/L7,C*M)>=%CI7RER)R;%K9]-(6!74KG#]^L,6TJ^_^/WDZ@6M
MKW_ 83K"1<W;,&0UE&ZYK8Z83US,)%O.XY EQE(MC6W'0:WW8C^;\W27%D/9
MIL:V?LO>L/0/+K.C,.3+7!^45F--0VNOE)^H,T.=[_J?L^W)4@,6#+PX]R>3
MLV.DR-/Q7C_3]=]:+-+=!QP!_];MU\>0;WD.AC66DQD9@3))9F3\9F082A).
MD!43?ST>:&(?A\-HC>Q](01T)K!>WJUPQ/&H;+CX]LR!F/(=5%(TVP(F]X79
M3(9J:?=SW&%8CAXE67MC+7!*\)2Z(6>;,T?D;/,41]W2B.;/X?:3:O:@/@GI
M7K"CMJ\'IYGEN91?^/;\.V_*:GRQ7ODKN"$?TH4L?63I(TO?.*T[A'\)_V+%
MO_"SQQ_D_3E82J%V7;X*EDE9WBV-RN"KY>[;!V)@V& >0+$+(822"24?-$J^
M7F^%:[T3E/Y]]K0/X*BYS1"$H@E%$XHF%$THFE!TGRBZ_5GD#U7_HIKE+)W%
M:O8#EF4\SX*4N\+IAE$\X&@0!02@"4 ?-("^V.R!HW(+N%B;P3T)+A-<)KA,
M<)G@,L'E?HW.CD>0/Y3\_ETP9;$,'EA2\$!,@VF9?AVS1/57'!6ZJ6L<AMN@
M'C!T&X((4A.D/FA(?:YVQ*]Z0^Q<V=D$ID%]O')Q*=)9SN7BE-_G=^K!EGQ$
M6]-!:;96D[,W'AO= Y>_2V,AK]2)T%3BSM".%$12$$E!1,<(2, +-Y$Z.@48
M?LJA4Z<:WH< 2V94.GX_JQ)#FA"99\@\<\#F&0>EQJ-AYGWY;Q8LV8J5KK\T
M"I*UB% +[M[5DPD?T(=!QI&83M7E3B[NKH3,Y_<RCF;\1/(HSB\O3\PUY4 =
M7+"UB;!YG+)_SWDV9^E,IWB?B,L\LM %:-\#69\2<<^2.Q[.4Y&(V>HB#2WU
M]YH:]T#0I6#I+0\+J65Q&FVR2(]FDI>+RDR>8]<>B+V]/M6OQDQ2;8,^'JS9
MY-'D@<LTGLWSJI!FG,YNU-:[G9S?6$ARZ]H#L7=S_N'=N\_5WCIG89RH%V0F
M$-"\'Z+4RUGO=W4:6NFQM,1ALL5%#1F07Y;#>[:6+69+<\,!Z;6:_FQ-QT3S
MH,9*K0;"HUP:6GNG_&+C5K.L;'/# >F]8@N[8;NI^1AI'W:EC]Z5IB' 9 J6
MZ$W-!Z?]4BM;TN[> 78[!%X&W1TW_$$D#PJ+ ["R4Q]R9OEW9O5.YZ],QOKA
M6E&S2!Q3L\%HM>Y'<\.QT.LB,<C!20Y.H(/3 IB%*T#%R)\%$@D7]1(C;T81
M+.""#R-?C6!6M 6-HW7!-R%[= XSZXX2K7 E*G]N=_ER(&YX-PT4W3H%RP_A
M[LE#N6#[%*Z=EC">ZJI0XR&ZQ=L(RT07GR7*Y=L-KW9:L!_1+5B[#HYNN5JP
MJ.CB-D:Y4-N!<PR@8!^GIB5" <C<]VAV7U^!A_O?>$9SQ*9Z.BS4!M4&0Q%)
M.=Q1#HD3\8O ]H*RP7%IZ'AU>9.P""0*^QU)V"\H9,)CP.^'0+UT!:7RLM)/
M5F8Z5%&R3R1!(WV;1_(1X@NEHEML+UN>/6J%22E*=UPN])^6 -K&UGU$]6ZY
M+E,Y#)$[H+;]!#7^<*U0E'HQ.T_;2:0Y+91D^_"]-=BQQ0A]D"Z+.,OMT;2F
M-CBB'G%10S&8%*E&D6H4J4:1:A2I1J4X:@FA4AP4#TC%+2CV"P\C;R7V:[S%
M.RA.RM$G T<!Z&R,S:5*.IM,4/EO^MF=&-PZ%#T%EBH"9%O#N4XI8.KM!4Q!
MS?HH5RS%2%%Y*/(3(_03.SCH/'J)?PBR.9/\GJDI"E3SI5JH+-_9<E G<>-
M/GS$0"(ZN8C/'I5TBC.],"?I+5_$+$T+EARS+*XO ^O8JP='Y[.'*=WA/)99
M?I2FL5I[&9.K4S5KYR))Q-<XG:G?]>?)]),."P9RT&70'AC\E6>Y>DI)Q]T\
MEM$.'68.X+UP^%=Q4?,VO+V9S'?LM^K3EC+UX??/[#%>%(O:-6;\??]4*?EI
MI:KN][U3=</269W3IO8W/]089ZCF5SP4#>I9.?K*9-3@?JMM,Y G76G@.^?^
M#4_4,12=B"S/;C4T.-;0X)JMRALZ&JL@]3,JQ10X<7"F$*)8<7Z;*THF2SWA
MUNHDC>V]4G_-Y53(!4M#7BX-^]4 #:T]5X91+ST.U<(N9_*+PN39S>V7ALHP
M@#Y^/:N;_;B[8X^DU/*TW)_'JU=[MA1@6RF61OHFTL:8HGT^BN8,_BB*/!@^
M\J#_:CF5LF8K0O2ZQ1 4VDOYU+7!3275&L+@YC^8>)-Z;4\TJ%V8.+!K.<(G
M'L X+75B6( DX&@#32SZ+CKOQ%X7I7#6PE YW@;=V0<6Q&)$8^AV1+U$$OMQ
M<Z!<[RXB&\,R[?>E KQOHPO*L=C4T>P_$^ 3C4X*5)L("FA'LG%\X0.0I1/-
M[#2M5;.;SZ_HZ"P977WBZ-CSM7X=+-T4+D?A<FX<4[B<N:Q*GSY8CX%U/^IV
M8L&#G#VZEURI[^TCA,[V9%C<' 5$'5) U)L*/;@HE_X=>X3?E 7I0@Y)2H4F
MU]0X;?Z$C0D;8\7&\+/'(_#]*9AQ,9-L.8]#U:4T^K1)*&D:QP<8AM% L)A@
M\4'#XMM*=-_PI9"E+1&,CAUZ$D@FD$P@F4 R@60"R7V"9.<CR"-6_EG7M-9$
M\32,W:W$ANX^D+'UT9WRJR]%EIULQEY-[I-X5H+N<R%O6<*SHS3ZDFFMQYSI
MVW8,' @:%S6$YU]@L1.Q6,1YZ692R^AD=QO @7&[04AO<:QJNBL&U-0>KZY8
MOG8E;J2#M:ZLZP #\K<FK:%T:V./\7) >6"D49)&B4"CA%9H=1:NHH4D&YTR
MW?7P0:>P05Z5Z 6YHS(S['V=8X@P)N,1&8\.V'C414WS:$?Z)<B*^XS_6>BO
M^(,FU]669!G"ASVI\?'=KG6#W-O^["(U^$7O0]MG<%%#UJ+#LZ+0'4]TQQ-9
M3?9I->F?SLUA>J;/4FL-+VO;(:ENJ#K8T'IHRNUEL)K:CY/Z867)<ZH:JSLV
MMB<[)]DYZ:8F1VZ;I+)P%H+C->"^D7M]')1E5*:\?6S0 [').F$L="NX6;"8
M61S-JNU#T![(E53D07#FB#P(OL)/85J&%V=!%L_2>!J'3/W-PE 4I3LC6(HD
MUAZ-S1]PWX'KB/MU);2CAM*WR(!ONP!CLY"NU\NGP7[?W,$K_5?\ZPY%4J3J
MS["JC%32MZK^VV0M:3N,5UY?T-#PHAI:DR&<P@=KX0IHW6"RS8S(I$;: &D#
M8](&FF2!<,<%Z'@$$"[Z @K^@J8^!E+'&15<_1N*6?6,(-=KSC5X"C*4AR J
M.!FD\I#*8X]98K.9Y%7D]61Z4RVK4AX#[LR#]R6(?0"Q)J!EX?[^1Z$*V-@B
M#8 T -( #EX#,(@ T>E(] >#OP\2SC*>M4.^AMX>P*[UR=T*4/ LXWRBI! K
M;TE)H_,XU?<67.H'7L;LOO3Z?]:96.I?Z_'7WX XH#(N:@BXOPP1UPM*ET0'
M8;*&U@3."9P3."=P3N"<P/GA@G/0(>AY27;AJV_$Z4\3^2$(63:O_L/_+.('
MEFBG0<#2*)";VY>JWULI*^T?X$&?Z4H<F?1),[#AU7#.HR+1L>MJ!>E:!NJ?
ML^TZ ^'$=H.0'D%Z!.D1I$>0'D%ZQ.'J$5W.1G\8^\> ,YDJE2 +U(QE@=J%
M0:9O3VR'J*'#><#/;J006B:T#$++1XJ0*$Z*/'[@MSS4ZG+,L[/',"G4\CE7
M0D)?2EKD:]?>V7H-7G-97DH*1]1]/VB@^7I)US'+XE!)PU/-&H\<U8Q6HY&^
M0?H&Z1ND;Y"^0?K&6] W.AR2(_)K^$),_G2QGU0SG1(N9-PV_,HVA >=J_GQ
MI&>1G@72&R[6"VEU4DCY)*3AB@*L.VD&I!F09D": 6D&I!F\!<W Y53TAWM_
M#I92J$V7KX)E4I;J2:,RY&59MFD%A)W&](",6]!#4)F@LJVTS7H]7>OEI+3[
MLZ?%U 2%X!T)'A,\)GA,\)C@,<'CPX7'KN>A/V#\BVJ6LW06*Q8"EF4\SX*4
MMT3$L,$\0&$70@@#$P8&F8O/]>+DE_$#CRXVJ^NH7%R.EF/GD0;A6-CH/"_T
MG:!'"R'S^*_2VW7VN%1G'*Q@SSX>09H$:1*D29 F09H$:1*'JTET!A$C#K_I
M'RWXT[/>OR__S8(E6[%2*TFC(!'I+.=RH;;A?4N5RWE<#]I72YI($2-%#*2(
MG:H5Y*AQF;L,Q,.Z#$+,L\GT4FV-.[4U6O#E-@RI2*0BD8I$*A*I2*0BO045
MJ>DD'+$NU.[H]ZCO? C4ZG[@2AO3&D#&TUC(M5K03M$!#^A#PW$DAE0;4FTL
MD.YDNY; .@"HCU<N+M1AIJN&7:1J__"C-'KZ8FV(V;G$$L)@U^%(V2%EAY0=
M4G9(V2%EYW"5'0<8,$)MIQ\,X%'K^:CO@%;3%07)NN!MZSQKT%@^=!TX':3F
MD)H#JW!5+:C+[7IR]'M !R E@)0 4@)("2 E@)2 PU4"VIZ+'H'Q]X'(YUSJ
MU@K)5ZG)%89OB8[! _J R([$$$XFG S"R1.]JJY$*IYN5:D4X3:I%NT&(_Q,
M^)GP,^%GPL^$G]\"?FY_1GK$TC]4EPS<LTQ?SB46FK8RXZ$EE(:.YP-)N]%"
M0)J -.R* +5FQ8KS6RX?XI _U2SFT<G.$CM*2KK6]Z6'8I;&?_'HFLM81/JV
MQLSA$H']/&^@V:LG_V9S0^!MKFC\HB1 =O25R>@HS..'IEO*]_P45#-54CY9
MZC^S7B<'/K#?^:@E5BWLJ9 +?25HV:!ZC5_2!_6&N>.BZ?T!I.B2HDN*+BFZ
MI.B2HOL6%-U^\,0(0\KV!1V 4_$!TU3L$WH#Y^,CROG8J_KFT5+T4S#C8B;9
M<AZ'JDNYQ#L8BH##^; 3.9%"9B(R$UG4!IT]6=:4J2K)'*\^;9;6D>0,%IO8
M;A"O?-[P!YX67-]2=:9VA$Q9<E)DN5APV9+I'D8DQ9L4;U*\2?$FQ9L4[\-5
MO'L[*$>H<7=!1AYU);6ILE#&I?$C$-/@OLC4 LTR]7W.XB0+]+8HV&950Y4F
MUW%]:$_M:(*I4:]G1'_S^_'Z$:>QMJG$NEBC4I5#11.;:8W[ST*)MZ?T/GVC
MZIRE,_6LYUBBCZ%<D)&!F<\L+:8LU 58TMDY"]>QUA?IM0P_/]LLNW3#>_5
MXK,94;.DU&,>74L1<AYE6@[MS-YD^C2E=61W&ZD'5OY5J!<X6>:")SS,I4CC
M\(Z'\U0D8K8Z$9=Y9)YSU[XX5'1<U+P-@T$F\QU51WW:4J8^_'XB"BU1EDSF
MJRNVX#7D-37;.XV?V6.\*!:UN\'X^_ZI4J>6E:JZW_=.U8T^$PPO\=5O?J@Q
MSE#-KW@HZDTZ@"GCRT*J,SWC1S/)2UCS<M?5BK56?0^#F_[?D8-QZ#3.EB)C
MR2<IBN5%&B9%I/"/+MV@5,U8:471I(JV%>F)4$IRM/Y@,"-U'6XXWC,[M9GQ
M7?<TVMOC?-!U7X6.;PP9QRRIW,N<ZRO CJ*HU.58LBUBHG1C)T9KCJ]A'DY&
M?/]&?+(D=V:D'NN)!M"%C0.KRB$ZX1Y,K XDV43/Q^_H/"E#GBCH+/U=EX!H
M:0I$Y:T:[4[<C]_,^XZ$V9G0[)UVYX_H9,!%M5]Z/Z0[K>.>(E![6L<&4QNN
MQ5N#!$6C[1+=$H0@70P2LL/;,-NW_88C4P#+'@-8C)O^T )8_ 5QP%CJQ_**
M+E'"SGQO+G!T"1$ OGN)M/ 7P_,QD%6<E?JWS,?(*X'5)7[':4P/L3LMZ*'T
MA[<7S>!@GU:R.I<LS'^+\_E34.)3 <F5P5P-ZH.'BW7XY39+JPU;QD'(^T'>
M#R/4';GUE]004D.0(-(69\_(=(T^CB%_:/O[(.$LXUT#Y)N&\8"I8200C"88
M#0_WN5S7!H#'Z-3UP,"!-3 +U&?<7 P:1':I!9.N)F&@_-7O?L$]3]1PLT\\
MY9(EI=-WH61REFO#W\-3V=2L-HRXTQBD<I'*A5+E:A7#5"OYS:$W-B$[.@73
M^3!$XQIV>SNB%XF'2MO>QVK&X( FLPF930[/;&) BO[L!3\$(<OFU7_XGT7\
MP!+U6U;>EB0WI>:JW[N9%'IXD@>K0V]4=LK+_U0PR=2>XZ=\*;(XS\Z%K&Q.
MV6FA8U+-N=6.73M;"$(=#"=7%01>?]BBW_47OY]<O:#U]0\X+"BXJ'D;]IR&
M9,S;ZK39%BAAB3'YLK'M.*CUGKZ[.:UV:3$D8C>V]:I7'[/T#RZSHS#DRUR'
MNEOM&@VM_3K']17Q4S5Y.<\FT[6X/LI/F)0KI8G\RI+"9"=PZ>JYFN'3$7FB
M3DBE1>E_SK;G*(R]EJ.@XM1 N=GPW'W $?!OW9Q]#/F6YV!0FSC98\D>VU_Z
M;#/&$$Z #Q-_/0I\L0_A.5IK=5\G*#IC=B_O5CBB8%3&4'Q[YD!LX@X*'9IM
M 9/[PFQD0K6T^SGN,"Q'CY*LO:G3;_0A>:W(:W5X7JM.]IFQAO\ZF]S\.?%^
M4LT>U"<AX\Z1OZ"Q/#CB'.B@&."WYS-RBCVMUM'J\N)\HD07EP]\?2'8G,F9
MR?8#[38,+[_)..>GXJLY>-;4D*R"9!5$:14DK$Q8^?"PLMLQ,E)PW'3:^(/"
M/P=+*90<R5?!,F'J6QVXI0.YEF6;;MBXW> >P'(7P@@]$WJV(*+R?JB+Q9+%
M4J^E2FB94)R]L=]2YWPI>1A;B];7-/&,YJLB/=<LCD[8,LY98JF#T=":<#WA
M>L+UA.L)U_NINV<\/$:+X0''"Y W+/7R7'")/QWE%]4L9^DL5GLA8.7]FT'*
MNRHGCJ-ZT$I:443J"*DC-G5D(60>_U6*W<GT8K.^JFML36H)J)-7/L[U'N/E
M#;POZ;GA^LW'Z6R7[,ID]-[ 8,?12'4@U8%4!U(=2'7P@T8=CJ.1*A.]'$C^
M$/G[=\%4Z0;!@X[BT7>OJ^>P5&EWB>J?J:G433M?.M_I(1[P>A\$$GPG^&XO
M"/V@ ^F4-#CE]Z;Z:8960U)ZKC9&&>.W<V\6C'I;3[]5ZT0ZR[E<:*+NU(,M
MN:BVIH/2;"T8:&\\-KJ'S>;D:2SDE3H5FNH$&MJ12DDJ)4J5$I:;:16 PDWD
MC$YEAI\":%+"@.]#@"47*JM /ZL20XH8&73(H'-X!AUGQ#]2JXY5+_-HK7E?
M_IL%2[9BI6\QC8)D+?/4#KKOZDIM_P ?5IJ.Q'4J3'AR<7<E9#Z_EW$TXR>2
M1W%^>7EB+D<(ZN "ODV$S>.4_7O.,WW9G:YO4',+\3.Z .U[($MODXN-[>R8
M97%VNY2<19/T5R9C_?YNU-O]K$3S/%E]R=B,7_(LNU-4_?!N>ZM?'0<]#]T#
MLY\2<<^2[470%VEH?@&-C7L@Z%*P]):'A=0G;QIM\L4W-SF;R7/LV@.QM]>G
M>AV:2:IMT,>#-9L\FBC1GL:S>7Y>67W3F5X^MY/S&PM);EU[(/9NSC^\>_>Y
M$B3G+"QOWS$3"&C>#U'JY:R%FSI K?186N(P6N.BADSH-04OMY5[LK-'M0=S
M8]!X0VN_)G66S4]$DBC9(%ER+N2QD%)\Y=%:T,9FDSJ\IU^.GLD5BT'=W'!
M>JU&:5O3,=$\J!G].4:SK ]SPP'I-6)*4QB::_<!>;MB"[M3IJGY&&E'M!?N
ME+(*HGZWX8#T?DF+C$?5L:/P[0E;*BFC)/E"EQ@#,0(:P:^34@'0R;02FB;7
M9$V3P6@$G+--S0>G_5+;7J3='0SL=@B\#'N-7PUQG]ECO"@6K[:I W]-0WCE
M\88_B.1!4]&L,3OU(0>_?P=_[W3NHC*+5#4U&XQ6J\PQ-QP+O2Y2D8(^>@OZ
ML"AAPE4QP,B?!18)%\4?(V]&$27@@@$C7XV 5K0%CJ,-2VI"]^B"DJP[2K3"
M7:AB7+K+EP,)37+30M&M4[#\$.[.?90+MD_AVFD)XZDV#C5(HUN\C;!,=/'L
MHUR^W?!JIP7;4X&/'A>L74=%MUPM6%1T":Y N5#;@7,,H& ?IZ8EC@?(W/=H
M=E]?P=C[WWA&<\3F-A%80!JJ#>8SNMS?C@(?Y9!H*G2AUNXH&QRJBHY7ES<)
MB].C5 C<J1!-SGMT2Q3&5MVFA?GY_ +JS@SO+[3<+[;9TX*&QC0!F?T!&;.7
MQG /($,_(F,(%/X*Y.TG9+RU#B\"\OLS,GZ=@X"W?"+(2,O".8^*I*RK \W?
M6C*I'C'GN;[G<<-<?TEL_=&$(^^M;WXH5<YCJAPE:T$>/&S^$R4='5+242;S
MG4 F]6E+F;YK>*W?U"XNX^_[ITH=)U:JZG[?.U4W2C361=#5_N:'&N,,U?R*
MAZ)! X(IG0L]S8A26,:6SO5TP4/I/M38.C(6&&@_P(#\?69YB0!/%64@?NHZ
M(*&_E(AGJ;'@NT-/3!RI52/SECP][SO&]+LQTXXN48>2P Z&%W1KBY+ * D,
M;1(8)?QT9J1>*Q<-ZC$F#BAE:?PI2XTPY>VE]L"0&YJ80DJ<&#IQ E_NS^@6
M+V6G[34[C5)[*+5G5*D]!YTY@2=OR>(91+,!3>J0:'2UHMI44'4/^;9I>AMF
M=SRZH&MWP-QW#@3.;)9><R .+TOL\)*J*$^E]_V&)*$#6P9+6U?^R/)7.CB3
M#R)!!1 *,-+<%&CLAL>H_P]!N+T1)\C*&\76@><=+Z!Q']E'!'Y;JKK%T;/E
MV:/6[)5&K_,)]9^68/7&UCT$83]?BCNW(E5_:FAQ+>.07TN^B(N%RSTN+0;K
M)ZK\A_7 .P3L7)%W6BAL^N%[:Z!YBQ'Z(%T6<9;;@_%-;7 $F^.BYFV$OCL&
M4&VWXGIQZVOM-]:Y,L7.%M7FTAT7;[=SIF#B1985W!J+Z#X(!>Z"Z36?";!0
M2D!_'-S=J0=D<Y%$ZKM,9^K&#_Q.LDCI8J=LE3ES"QT/&??;(WXRO<U%^$?Y
MKNYD/)L9P[5Z&A793.R\K-9\UXPQ()?G+.0.ET:\;DX)!'OCCP*[A^7AAD=\
ML<PW"L^.P%)?I&&\9$FU&71+I9B:+CWK:UC/<S'E4O*H*O.G3NHLSSY)D9DE
M7T/[P<.H*43_8'@9-D3?<NW]2SXL30>EV3[[UL9CHWO0M7(M1<AYE)U+L3!<
M5_Z""4 /S\D:2[;2YU8VF>H)OEM/L('\IN9^4QZTIE^>L@9J7S>@%!)*(:D(
M'E4*23^!>OCYLQZHPNT(0\D?)6$TO4K$ 8K U2=Z<%*A"E'J9W=BB'>DY"&P
M5!$@;R;.=8HE7XBR,?S%LT)#,5"N6+I;A>)V*6X77]PNS#U&,;ICB-$%6]Y&
M&ID+,\V-.!RW;=0/D&5LQ>3;A7(!F<5=71X<0@3D%DMM^3XC<(&L_X*$]2:3
M/!0@^-,\.B[<-I%0T$G #9.<PJ*@+.,&3ZVC *'L8P-3_<:\0&<!&^0"!L5X
MS!'Z(<BT@+UG:G8"U7RI5%B65TILIQ0AYX%]9 BU)*I3@M#9HUK=<:95W$EZ
MJXYHEJ;J">553>:<$'BO'I)4GCWL;L[/8YGE1VD::WC!9)G%=BZ2I$P[5;_K
MSY/I)UV]!,A!ET%[8/!V\]9/=E[ZD90Z!5&OC^-5V>18-[FNM**CKTSJLW@J
MY$)OUO+SKRPIGHFKLD=MQ*S_!_<P4;\JA5Z]CO*%W<UC&>V\,/.KAO?"D42$
MBYJWD=)$MWGT1A7=YG$(MWD<)>6#>+0] ';/B+-'_:<IJ,JMLU^^]''5$ =;
MV\8KE6<*9HH5Y[=</B@-I'X:K[26EJE9+NG-[D3.DMW?-7Z_$OF_N%)30C%+
MX[]*(W@LHG,AUU_I=J;,L&&(.(QYWHY4=9KD<R[U%:^34J\TK;S!Z3F0V==V
MJ:%FNN;9P\SJEA!KK?K&]GY#T+>:1>4#L=+>T-ISZ'F6RSC,UTO@BY)KV<WM
MEX9[ @!]_ >AO]H( )6PT@,K5:L2\*9S91^/P#5'F96#$EFDT77"TL;$PWT^
MBN8,_JA!L3C43'-OVS W\6R>9XTYQWM]UCAF3:DGL2P;5T*F[YDRC4_)//Z3
M>7JG<[T#+-IE38LA*+2*T-HVN*ETD="4PM69D<.Y!:C>VO,RQF.O& SCM-2)
M*0&2$*/-W;+8_= E$NQU40IGZP"J6/9!=_:!Y849T0JZ'5$OD<1^_/THU[N+
MR,:P3/M]J8 PE-'EN=$])W3/"6Y\ ++ HYF= [H%QBX976.>T+'G:_TZ>&#\
M)HI1!BIEH!Y>!NK^?'_X)!A\0OKW(OB55<//!MS[!)P9;+D9 \2K &<*2V[M
M4!'MP&G"EH_;)D83R"JV;%PD477 V<.2W8LA#-1CJMF/NIU8\"!GC]VOH(*-
MYB.IS(426"899;X<4N:+2V3I=,I#G0!\4:ZH._:HJZOHW9OJ2F/549N?<R7&
M6**%2Z&(6CUK_(*S/8Q,4314$M=H-!C2A$X&'3+H')Y!IW?)[1'R_13,N)A)
MMIS'H>I2ZG]]%!=P'=<'#&Q'$P%" H06.'%5:/$QF=[PI9 Y*\M!EX+5!(.:
M.Q!\(_A&\(W@&\$W+_ -*I ]HK*?]3WIVH_#%8+L;HD##N<#@SF1TJFJTZ7(
MLI/-LU:3^R2>E7#O7,A;EO#L*(V^9!J F\OFM!VCASH_+QY]K69/?6#)Y'Y-
M H!><R<<8!(7-01M7UWEMKN:U&X]7ETIY57JVQ6VB\QZF9[K  /RMSH*0ZE$
MT-HC"N/)U&E(/JHI;KAWK[''>#D8-D^9U"E2IWI-0FLA1$6+G3XZ3;+K(8,F
M><#E58E>@"DJ'7OOZQQ#M@)93LAR<CB6DS:ZYDACDUW@OD<#T2]!5MQG_,]"
M?\4?-"U=C40.0_HP%#F3T\E8=')Q=R5D/K^7<33CU=V!EY<G9LL0J ,.NP8N
M:LC*\E+W;;C:\J7B"[JD=$#:ZZX>!?!@O@=YW+P,:HW8O4!L]^*P5R48ZYN1
MY>0 JG'=;H[1,WV*6FMQ6ML.275#M>J&UD-3;B_5V-1^G-13+;)AK(4]7I2-
MG]NF?2^<M]EXS:!OY/)Z!\4+E4%L'QOT0"R;3J<XNA7<+%C,+(YFU?8A:#NM
M5CSUJ,@.[[SGR [O[YYPV_W@>S1+JY<;Z61Y?6ECFHDDCG1>?7#/$EU.(,CF
MG.=9$!92ZM;+,NTY*%)6J*--M5LR_?V<YW'(D@V/S:;KO3QVO^;M/9),J2ID
M:6ZXS^RK7F3G0@'(XCZ?%LE1&.IR'MD-#WG\8+%DN77VRM>)6"Q$6EW$S>1$
MED)S4[VD+-9@8,JAYU <514%CXI\+J2N&-',B:G'L!Q<9%D!I_YYZV$IGQ2Y
MDMZIONX;2GY-%[*E4Q0B2KLBJ42D$AV>2M0&KHPT1 E\] /YPU80T1FD ?G$
M5MX0!(* O&$I2.B.D/P%T?VBFBD29K$2! '+,JUVISP/IH6.'0[80L@\_JNJ
M$,&K4H!/$6AP T5?3_(0<M<;E62&(#.$!>R?Z_7*+^,''EUL%MQ1N=Z.=M;8
MNOKFE5I--R))])4D7WGRP#\KS#0WZ3.]CHUX5M94'TUS+O_%F3Q7_7J9$MO
M^.=C'U,QTED0A2G(JY<QQS$+=XJ WA?#LT%',@]?1>^SL!T2RQQ<<5. *ZP3
MF>C(1$<F.C+1D8G.BTU@#UA]I!:\_@[AD9KX^L1B([7^]8C*1VHC[%$[ \X
MMOM(^E;5@=. [:X2%[3NSUS\_GWY;Q8LV8J5)M(T"A*1SM3T+Q0"N<^#A:XZ
MH9ZM&HEI8^MVMN1]D^$CM]L+"QV+!U;CZVC*SQM:=N,LKZ7B-5ZRI-Q_,"OE
M/H;&8>3&10V9W%_55U.+9[WF#*I[79/!:&S8%Q>IFU>@SZ')2$1&(C(2D9&(
MC$2>ZB_U+;I'9B/:'V8<J:W(#%3\Z8+?!PEGF=))GNLIY9=!$K-[G:J[4][<
M4<=K.[P'W:T;:1091&J*W;>K0W8O]6*Z7*^EE=FE:VX[/-5/%0)/"TO\ :@;
M*EY<-:_.XR'CWBWNJL-@./GNB^41<6N-HVHW#EYN&^*E6@Z$F%];7%2K88;G
M]4L:Q5F9Z,*CL\>09]IW5*26T"CW,?P:!M7C.9\LN62Z#*_K.>O:'25OY1D!
M$\)]#(ER#J"G4.?Q1L"]^53J/!Y^[FVG5/<!1\"_\=3J.AQ*WAU]/?V,BF<F
M',_S3F-YY=I HX&OAM;DEB.W7&)R_9!;CMQRY);KU0G3YRD[,H]<S[;-L;KA
M>H&:XPW6[F =&FE\=E^JU7B#LSO9/T<:C-V3/0'(_<_(N.]HXP=R_0LRKGNR
MH$&QC<=:W7MXZ:W9'BNF:S8<0V=@?(BNMYR;]V/%<^VX'1N :\?EJ! ;S!8(
M97T4:*U?EK$A-9"%%,K<*("8B;5]AW_^I)KINRV$U)&.NW^WB_<$C^<AP-.1
M%HKHI(A.B^?A8KU^5CJG-YOSZ),0D<[BG4QO>,;E S>Y3AQZ#L.1N=I079-A
M:+QA7S^KW2UCEKA->F/'8?CY3<@_+M)K*?39[<10<T_R()('<0,[R(-('D3R
M(.X3T+L>-2-U$CH?0"-U!SK#M9%Z_LS8SI_Z^7.PE$*="?DJ6"9,?:LKHO _
MBWA9MK'^V$Y![?&)'E38WJGM5$KF1"R6A9)O9T_/.$JC6S'-OS+):R]C=^SE
M@@,-)%ZO9^2:E<_9/%.M\6,^%9*?B#13^R[4;Z<48C.IC6=I=*EFKX[\?D;$
MH=3CHH9,#"]OM0O#8E$D^DZ04[Z4/(S+(FGJ[X27ATD:[19/VZS,Y,72-"@U
M?0_O=6Z.BSC15VPH0I[^O%@H^?=02LNL5ORTZNN5JWK9864&TL5OZE8AU6%7
M2*ZF]SQ^U'_9.6CNX#=D78EI\%*R-_9.=R.M ]+WF85SA3_E:E=V6 D&]/#*
M@5$"'J_N5L^O#7_!B4-/'!Q]DB)S9N99)QQ\F$W9D"XX>- KI!9 M>AY.!SU
MAA;)R-W:R-T[G;_R>1PF#7BAOA$9X_?*2)N33'004:-S1+0^ZCV_Y69SH<N[
M$FY0&)4S9O]+NI/_QI];H^4+;Z%&HW-UM&0=K)F@\WFT9!BJHZ/S?3CRV\I"
MC2[KJ>5+M@$K=*E-+7F$F\O0935U.)>'/XLIU(-"/0XOU,/%%(8.^\!8W(^7
M"!TN I2J[M/SBPXG=5SON&\ORL(YCPKUTY!W%W4@PD-DB0\&.@6;'+/T#R6+
M^#+7V3+9V2,/%4:/U"*<%+EB)M7ZYTDAY6N'=^O^/02@G%S<72GI.+^7<33C
M)Y)'<7YY>6()CX%TZ(,PI<"R?\]Y-F?I3$_.B;C,ZQV(X/8]D'4I6'JK7HW4
MF"F-/A5,*E'#^9&2I=SH,6S3M0=B;Z]/]4R82:IMT,.#[^;\P[MWGZO5<<["
M,F?,3 :@.8X0(%S44$#2R_"49PO(XN\V-QR07JO'T=9T3#0/ZA;5%Y=<E!BX
MM)J9UX>YX8#TGC I5]J>;2M"">DR( ]7;&'WK#<U'R/M Z_Y*5>@,5JG<9^(
M[-E=KJ]8L+;V&S"F-+W)%"S3FYH/3ONE5BZD=05!NQT"+X/NBK%=RUFO. ):
M#D;QE4A#,-&O&WNE^X8_B.1!Z]?-"HM3'PKZHLSFC9%R?,%4%A@L7"$;1OXL
M8$&XJ%X8>6N$0Z(M[!AMZ!L,(:*+=P._'>%NHD7EDM['TL40XM;C$A[=XK4*
M3]$*3J%<L^V/DDXKM"=O?(\KM,ETAFZ%-L(7T<5_@W*Q=L-U&$3J/HY-BS,,
M76R,.R8 NT?1O4CP!@6[$?U&]U!H(846'EYH(=S1A$YX0AD$N$)&%B?8;-L>
M:>!?HP4<R!>Z.N( (SF0-2QUPCM&NWD,W/P8L#!4<Q0%R;KNM2[&7/==RZ#,
MU@_P$7#9D;A.P91'U5,NU.$M>6;P?@%:]A#*MG[ Y9;?H^A!+]KHZ=(""UF
M7CA"R7!10X%MKRMMZ>5TIO:[6'%^S%.US_/,[A6&=1J"CYUM 6+!W'Y@ZL^%
M/!&+19QI94B=8DNE%ND4U#OV:"R,W7*4(3B]EF+*2ZI8<LZ!+ZNATQ!\W+*$
M2>AB,S3V2O<DGW/INEE@G7Q7V(F*,/]-:8<L5?)3$\>2DX2I]3&->61GR+$W
M!5L<0(6=4N9=5WD[]M5A:4GA(62R)),EF2Q?L 0YX$=JK'3!^B.U63;*^Y&9
M+L'FBY&9+EO9/T9FP^Q%EP/RC.VR0Q<U#\@BMBL/6RD>0%ZQW3CMHC5"SWUL
MUTH[L[='UX*"=Y&6"9'^*Q-)'.G2)<&F0:;+%X0LFP?31'S-@B)E112K)G#G
M0N='[->]T!-YG1P,%VDH]86FI[SZ]R)5:T2[KI\0Q@TO2\K<B:>2(KO51(ZB
MJ)R$6M-_ST/WX,)X3=$I7XI,X4/UY&O)ERR.U+FUH:%/WOM\TEZF8G-W;UDY
MT'+5K9U/\##[9>(FGLWSR?2+PAQ9]BK+LV7O'DB^4:^^PGV3Z;54$B)>LB2;
MI)?KJBS:OZUF[DJ7;5EODSK:.PR#P[.%BQKRL[WT%T3_761YN<#NQ U7YU,8
M)_R*YVK3B 6_%)GZ_D0=34I>/<3J\#E>J<T2[6[_,(\?*H7G/LLE"XW>ACT^
MRN^<[517FTPKV:>#-W2\E(EW0!>_12W4/.O_Z[/G@27ZI=PH=5S&H3J=] ]*
MJ#S_8J>E>F%)H>-53N-,'78L^21%L50]3O65]VI!IPI[KM_:ZW-S2!+&,\?7
M7,8B>GUTK=D^>PQU7#._46CB;#KEQETW#!&>"SYLJR"^*'YHF!1 #Z\<5),W
MF>Y.Z"1%L$?Q$.;U?>SBV0WJ,D0_.?7QRL4G!7CTJ3I)JZF.J].G1+K9>P,;
ML$Y>^6C4+PVL@/LAX49A(JYV21N&7G<=GJ?*S*^AW:XCPX4U^P@X.-PQL;FR
M5M-U8)Y.E/S5L/JW.)^?*+"N9EZ:S (=1QF8TZ>[E5U>6TV?@;DHU?[MWH>S
M8NHX,#^E:7YMJ:Y.'#!'YJX8>-JJL"5IN@+U=O,K%;A!=>YIU(%G8FT.M86*
MPCIYYJ/R5%\K*LQEY RM/%.ZOB_^\N)\HO WEP^\TN!.YDS.S$<OK)M77M0<
MUIF"-I:3K2G(P)7[ $CY:Q -[0?"P*]>>UG>X7U:!D#*7[OW"1@( [\UIEHW
M/BT#(.6OW?O$9M-^9H8WL_*ZC5\J1:K=Y-O-\.1ZU#?=Z5B(II?AVM]O[L#:
M6'0NI%HN(>=1=B[%HH1Z3UYE V,N70?A:>/W5D!.ZX5S45Y/J.B]52"#'RNL
M%^E;WGB:V0RW78<;A/<[<13^6<12H=F<I;-8*5Q6Y0;<;UAN&B\6:F(+>#.1
MO\R=S;[1R=J60KFVIH/1?)%EA39 3Z8Z'%.DM[D(_P P8.TW&#>7<<JSIWH_
M "YJVP]&_2U+N([7<-P@[B/XYO AUO&O2LR>BN(^GQ;)DP':S%)C%\^%C[?Q
M- V[W-9T,)HA^Z*QO=\\/)?S'='I3?F.>Z*S6"ZK3"^6:,WH/!%?+]*ID(O*
M'6]'\(Z]O7+V)96<)?%?/-HZ497<X_$LK0S3X>J4R_A!4?I0VF>K2PH5A#4P
MVWU R@NEO%#*"Z6\T!<L=35*^=V# +8[,"1 !JZQ9LGN/>86W5+8*\NBC6J#
M3DCXFB(WSR*Z+>9KFL#1J.CRV'W-$#Q\'EU*O*\I<HG;1)=?[VN2(.8%=(GY
MOB:G+VT3G92"0:5>8ZS0H:*^N+-.6%,T,CH@Y&56[+&6Z%"/ESDQ1_6ADQY>
MYL,86HP.SWB9CJ9@7G0 IL=9Z92RC@Z\>#UW:A-$T!4=\C4EUA03='6*?,Y*
M4TX1NL)&7B;'(6T'7UDDCP(85N\$.D6C!KMM@WC1H9I.;A-P;#8ZK; #0[N6
M\):!?>C4P9ZFHVT8%SI5L-_E 8]-1J<#[FF?V.-ZT0G)?F:A;2(/.IVOTYD!
MSL\:RYD!8>@)7'4N:C:6DP,X*8X!S6,Y)QRY!X:MCN5PZ/#NZZ.-QW(>='CM
MG1CW)_G[8=RA8! ZLUY/:[Z7;"YT!K[^!0(@1P>=0:^?66B;QH_.A-?/=&"K
MQX;/$-C// ]9-1&?Y1#!G/I8I=CNVFB5ZX).7W3EXIF/PE)4!]VQ#[0'M"M!
M@.ZUNO-A=JWT<%T /HM C_/3_Y4"V^D:^N(/L9'9>[OXP_8(!!=_-),'N_B#
M:OB_T1K^.@Q^,OTD1*0EQ"V7#W'(LUNE1+\@&-[!;_5K)E,E%35N+O7]AA3@
MIN:#TG[,LC@$$OZL[:!4G\9)L2-U&NA^T=IO36N>*FF9Z#29:*$$M'[U.AY]
M?>^<@0-@+[^<2)%E^DXY8QV'FA:^*WBN\PNT#>JDTK+40MBJ654&P$XXU=FC
MFEF%M132D:L2YF@<I .+1))HY+-&] :./3QQ@!E4=*X7VOJ64BOWQM:#5#VU
M[RM#*^]53ZOTF&K^&I>8O3E5W:NKNB>>(KHJ4NRKHK$]#NJ;:P7"^GGE9A-:
MMR;&M&J,[8:EMF'.&]L/0WWC'K6T]$NQCJERW:ZP3IXK7F6<R5!;A$_Y T]$
M:<NPLP'JXYF+!YX6_ G*O(RM/GM<F[1U\)?Z7V0N!-1A)+^UG7B)N=0K^,SD
M'WQG)QL8:^Y -;\.H.;7;UPG+?'HZ$&)F!F_*K3==#)=*Y*E4IE-BCS+6:J7
ML8&1EJ-@X/05<38[0:LQ4'*Y?C7:1Y>(K) <4J2YW\&I AI50*,*:%0![05+
MG1$5NB!<&-]0TS^Z*%L8>T:3*;K@61@_0(48771 ,]VBE>:&3MHX,0K5=M#)
M%B<NG9PMZ.2,$ZL-5C9T0J<=<QUK8J++R'(S[**3K7#Z7Y1B;'9[H!.O+7FU
M>*70R=96++K8;-&)V%8<]\NLQR2I=BO8DQ\<G0CO,%T-CG-T0>#MMD'G$M78
MHMQAX5SH3N%&LBTLUAANT9V\7?BK#1 ;:;S^/JS1Z!9SSTRVF+XQ; GOLP3S
M;.&)Y5<#+"6?:^/Z ]=#JG,J4%.PO]!^AR<BB/1WII8"_RGPWQKXO[.>*EBH
M\.%D:@XD ?2@ ,CZL*J:J7M1'?U.LC13$KZZQJ'\E)3:VE,]]2,99_I\**3Z
M;Y4EW/"^/#Z9 FW\!]I0  (%(%  PIL,0#B\N\:\GU7H#-O0$ P@!O.BV*4B
MY\'W0:(SS;-20Q'ID[Y2?AGPRBJIQ$S.XF3#4K,&UWKH_:IJ'<DBG8QT,@M2
MW*WJ!DNB _08G(-UI;9)^JK:.8 9<^?!^#+6V[.PTU"C;P N7I@-RU)(19KK
MPE+JW QW@)J%+?@@6/B\X5KR*'!0_GC'Y>*].Y^60;SR63Y>1V4:6'CU^S I
M<"49#7EDMK8#4MVPQ>V-!Z2[]>YN.PP>7N$[O.TP?JU'<R%S_?BFS6YN2-8Y
MLLZ1=8ZL<V2=\YMW8<8R([72@;7-D5K7FHY0= &B,+:Z<8,M!+\;:AMIH&,7
M972DP7/=-!$@T_Y*VG=^SWVQ[*]L?9OWW.D."X^EXML?F$T632BOV&!/JRM)
M]NV<^B'0A92K__!M1?B I5$@-_7BJ]^S8K%@<E4&VX$[M7-L^2;+@U-L&);(
MH48.-5N08W4SQ(O[(([R$R;E2ATYO[*D,-E\G/IZYZKU91@6;CN/Z;O.VW/R
M6KWEEJ.0295,JD:S'9E4R:1*)M5>P][<9?-(3:R=SJ.1FEU[Q![^-,L? [[.
M7*VRL)38#3*=;!<LU<]*XJA=O%)"."ET_9I (>I"EM><!;RL#Z;4&CU750OU
M(>7YLZRN[7CM5,S!Z/.@:P[,&RF=I'1:X.^1>OS3VKO=++VS]<JKBG(LED5>
M!JY/IJ^2Y1?:RFM S;V./:99.5[5#U"S#CP^$<$,7K$%K]VGKMT.@9?>9%&[
MC-KT@<L\5J!;WT.^I>_S,X3T*JL6U,OO%4_J[!8KSLNKHB=+O3^L/#2V'\@P
M5-+S16&.[.;VBY4#4!\R^I#1!Z71Q\Z(S_-0M#UW1F<E\XXR/"^I9N4>_(*%
M\TF!RL*(=/]TLF3Z,_"U624.IS$Z,U\;?ITPH-\W3/X$\B<<GC]A#V84?Y;G
M]Q]TG; G@1%D/(V%+'_*@BR<\ZA0WY:A-96C('C0GH*JAIBA6SL3\_X)\6!+
M]L4$S&C\>L[U-[_?S?D/ZYC/G;/BMGSHE7[F:<%5K^]K==P.(^"P,..BANS=
M9KM7N9*NV<IB FAH[95R#;8N4H4U"RT/SEEH-[XW-?>;^RW26<[E0A-UIQYL
M,83;F@Y*L]76:V\\-KH'M4R3+7$_='Y)V4(H6?87CTK9D&6%#H&WESJ =2*;
MJ!>;J%4T"C=A-%H39O/Y@,[VV/ ^1 ^H%Y55HI_UBL%D2 8E,B@=GD$)IAJ@
M,U;#F'-!+&,-085HI?A,?/$ZI[1CG<V^'H?(7 <CE8QR9)0[3*/<426QUPZ,
M*C<[3F>Z"H@Q7A+094#SG,7 96XX(+U/^?ZZ7L/9=,I#[6Q:[W8V,UD'6HTQ
M()>-(9M-S<=(^Z#&O!>%ES2-!O(M+8>FN'*UZONL=X0.G UK=S*M4ICFB$V2
MEL/,J' >7%1ETXF.SB#9^#X.UB39;;V229),DF22W(=)JQUL&JF)$JZ[CM1
MV8CE@7QAJTW:0=_U:([]/A#Z@JJG)'%=GNS)KFC\H:4IMH='^3##]D9F)Q/L
M)Z$ 5*K)NBWNLSA:55=BU=E:&YKB,&/BHH:,JB_OE3'>1O=T_]PQGZHVYCM9
M6XS@E<,G*B;I:9PM1197!^I1EO$\,]VC >ODE8_R/L$KD8JGXK*:QDP3R8UW
MN0"Z#,M#);$:+M(!=2(3&9G(4)K(2!4G5?SP5/'6I_[(M'$XT!ZI%@['""-5
MQUV@')!%=/>'." D+R8&)7<C_>A(_Y6))(Z8+DIWSQ(=91=D<Z[F/@A+X9'K
MVG2QB((B9444JW9P^T(_S]FO<:%/&CM9%HY9^L=1&/)EKA^<G3WR4)<*/$JC
M29$K>E-M1JT$^DOW>^O^+BC70/9N\*)ZUFX8N(58>"\<A@E<U)"9Y&7L65A>
M5/.THNH7'JSQ('3?\)#'#YJ:*V[8-BY=?/.@3M?HZ6Z9F&>-#-C;^Z:^6!2)
MEOGE,:VK,$@^UPK4 Z_.:8U.U!Q/IF8C6\M1_'(:1>59J:_(B:.+](0MXYPE
M)H[LK?U27F)!$Z'/?AR KH;57M=F."J/[K-<*D400NW+MGY3_ _S'A6Q6(BT
M+#%E9<#0S'>1A?+U_Q;G\Y,BRY4,DYL+Q.R+WJ4K'IZ4AA:V9^MU[R%+P3:^
M'TOCH>C62H"^3-*MI(>MEU]7W<YM=,!] NDR& \W^B[(R?1+QLM3 <""H8=O
M#I1>?JE@EP(M2NF=Z352'6M7-B8 G3Q'L*^M&Q593Z*G8$DYRR8T!.WFF9<'
MM:"%7)G?0%T3OP57MNJ(@<2:%D-1J,!-"0[F(HFXS#3(V=[I:2;;VFTH7NP2
M$HF6^)J,!B#=W,$K_>7A6-K96.IB; #W\QNF\.S^7N!9"^N$@8]&' KN-R W
M,/0 ZN,_!&9]]#>^!UM;KU1?2[YD<;3V*&F3_Y8T^[9PZ#D$1W?LT7@@US7Q
M3*/VZ.6KZX0I^9Y&^D!=ELDFQ@4/Z>*5A[=SI^F-C@5.>?146G?'9GNJ,',8
MF]X9O",%N1U B3TPLD:"I5^3T8!-FSM04"$%%5)0(045OF )X!U"ER5MI]G+
MA;\>;SZ!,NOCSE^/%Z! V8;'3J"+%@7SZ&BR01<U"F;4;#)&%R8*YLFLT@)Y
M^A$M3W + Y#5G_"QVIVIG_$Q!3=9 'G\!1^/;FXSZ+F/$.4X&%RA7"*$-V"G
M-)1'A%C&Q6<-91,AG '8V*'<(<0P=<&+Z. U3#F$>CS1:8@ PFM4"%OP.#J]
M$,9BQRP2=.O6^<5"PM+1*89N7+I'9J)3$-T8=G'[H],;W5B%1Q.B4R8=!)1K
MYA@Z;=)YPS:&ZJ+3+=U8[$GD^E,K>Q2Y73$M5ICD&**$3]=LO4N;X]'Q*9VM
M]RMR; 3UU,'\X>@T%P#AS]:H+:D(G<[BQAPH71&=AN+(8Y<D4X1[TX5WUQ@L
M=%J+&[M-H47H-!4W]MQR$K;,[KOJZL= \@>>%ES]&XI9]8S-=_>K8,'^6\A@
M*454A'D0JLXS(5<M"Z_V]#0/M5=[I;13D923H[M?S;=;O?ZUAP(GIRQG)UR7
M"38_V-2FA\>?W]W]'_.#7__:PR.WY8\GTYOJ)=<]V]*L!R+N>*+6VL)RE5E=
M QSU67!1\S:JQ60RWXF659^VE*D/VHNM9=-$WG+Y$(=UE]<W-?-%8WDF5H_/
M:E\PJ.TXJ!WT7JLU55NB2EA=*W%<NGC.:B@%[[E"8W6&INW]"[I@H(* YAHV
M'4:BO <J[KL!^9CB\.V,- I\X21K_;+60XH![,!#8_:"O0K1H MX-G39TR8Z
MKT ,EUGU]LKL6A0:ZYT;4Q8U!8U-SHTCD\Z)QN8&9L<=U?G=691&1FEDAY=&
MUEG10',2P/B&&<O\6;E_#/C:BQ*H><ET3>L@FS/) ]5U6>3EE7:!F ;W+(O#
M\CZM*$YT%&"0\OSIFJT77=N9P'V0XL$^[H\-F/&<+)N'9-ETL#4\N4>5M+G5
MB^A8KS>#R<':=E"J3ZN] :3[16N_=;5XOG6\&^BM;4,6LP.H%/(;U[E%/#IZ
MX%(=[%>%1@B3Z7I!EHLSVXF:-S#2<A0,G+XBSB9O6HU!%E!2(4F%)!7R!4N6
M,W5DRF$/TA&-&;$7CF'G'AI;HQO/ ,R-,+2O#6>UJ-R?C>,7U>PI*3I@999M
MJ6I72?Z)SIJN:='.B-'+LSQ8*7JDD\P09(9H5X1_)W#[:"%D'O]5&L<,.D/[
M@;#P>[SZK&-C3Q*UG6K>6(<1L'#X29IM']!N6'C9SO056_#:S=]QE,/G=-"0
MOD.Y_N-:R;54S:\U%K&N#1D6#\"P>"=9Q!=,_F%? *9F9#3;*R-=SFQ8 :?F
M V1T1L3.0 =-&&+7]R= $AR53768%8\\MK''=6 7Y!1S1@X#-X[)8> @>FH4
MT9'Z$+I:2T;J2&A7"7/?%NCW/P4S+F:2+>=QJ+I,A5RP9WG3N]_=KW9;2SZK
MQ%4;<W3_#_9@F]X7T1T,U66=1[FJ]+7UAZVJMO[B]Y.K%\K9ZQ\ZFX-AE-S]
M9J!D^X,G2K[<&BC9_H##<(^+FK?A1FC(*KZM(,^GS?9FB3&KN+'M.*CMWV#:
M1/63[-VEQ9 0W]B6LIW)Q$K9SB,P6\)VLW 2K:,S0SJ(-#0&1]C[$&:8A<K<
MTL\R1&X;='YE+S$Z&@N$,R<O]1ZR7I+UDJR7:#)F]VCV4N\_TE=\1?JO3"1Q
MI,V-P:9!IC,@LYUBCP$OJST&1<H4^3O1HLV6KOZ>M5_C5M]TMK!GM4'Q@%*S
MUL@$Y_Y>=11#L6 [1Y ^GKGX;[7_RT5T)PSDE:'8]RS35YHM]/U[I?WT1J^Q
M3"VN=;6+:RYC$=UL2WO:KGKW]5BO<[E3&]NZ"HSM_.;+EB)"3ZU(U7NP!N]9
MVXZ+ZD$#"\>1Z6NK"WXN)(]G:57@/US=2:;V95@BGS0J/R7E-MUN\&,^57W,
M-K0]/\US+4@^Y8K6J%D(V)IZMH8^+XINI=K>V*^-$)@9C2/W>0/17P@E6S@_
MJ _9D0\@5+>4 1=95O#HM)!JC5:HIEJZ5_QK^9-YKETZX^%K>WU\V>SH*Y-1
M>>V$DOI3'N>%;,>RR[@89J,$K"U?<GU?-%SU_XJ=A_4_%[674-1Q9[FMPK__
MJL?H;(=S"XU[!*;I"!?\-IC;SA9\#7LWHI42A<XN"GZ9#1HY&C^*,V,.!B=T
M<9MP)MO9"=%5?P S#-'"!O,O67*=^A$^Y'7"(5V!+/52@@5;D'Q/5ZMA"X+O
M6:]")V$[S4)+U0,X"=A*\?CUT  GR=]=XCWL%X-:#F35WU7BW3=%-T[]W2@.
MX]2+0P(X-_ZN(^^Q9-[>DZ)^J(I;EY*G+([])'J,W[=,@NK\(!])3ST12=6X
MWEX:C4N@2%(^:%U3\?CEH7_VJ/\TAGLX=?8<M)$I]';+$F[W?!K;>:7V$T^Y
M9(DZ;(ZBA1(@^G;D7)U0ZQFT<N#4URM7U9&R/8'T4_4Y:':- GI@X, :G@+J
M,VXN!@VV4:H:5Z!DKA;\*7_@B5B6IB? 3G'HZ=>]Q)-$!^BFT6<F_^"Y^AO"
M#K0;A1)02MH&\8\G)<WE3!"MQ._H$M2<CTET?EC8VQ%@?(8JW68?*W8D+EGG
M]^I\%J/S*#BS['9>HW,U.//;0C&A?$#*!W3CF#RS+UEJ8Y3Q:.0UUG(JKQ3P
M7_>JW6,'K7K5A62J>44UK\SF<5S4O UC/=6\HII7[3,/11J63NN\JFEI,&"9
MFI%ID$R#(S0-4K4JJE:%0)VF:E5UKXRJ5:$1$62=(NL4,NN4'8FB"#94VZZT
MK*0AKZHO!84B(0MT0.B#+K_4>]2AZQ.'#3]L1RW,\/1Z%O4WO]='I!])R=)9
M2?3Q:MODFJWT5V4,?Y7$<9%F:M670>]E%/#=G*63I1XB.YK-I)(Y.;]0(C]6
MTBDL0Y]/-'=)LJVPM8;]2*AQT8.P3.G9HSK.X@S)E+ZB9HQ3^DF-G".9T!>T
MH)[.7WFF[SI)(^T,T4D_=T)_]>+2\9*C4\7H.8ME7=4SY%0.^0K4,2]*+EYQ
M:>"JUZEM_70<=F]<U+P-*[Q+R+Q>8G?JB99 YMHV?FN6;5%:E;=F+UMF;^V_
M M@KO_7K;7_L+%%WDCE=93U.X@[DO90,9A=IE7OH?>;K'W^0<XMOV;>D[T#>
MCD(J#R4DP?=BW$D[D'=2842\.Z8E?>-X.VK53>JAN\E^X/.1XY_#92S+88R^
M=R\/'?L\[M2]N2IL*5H>'XUK3C,39UO-*(VN$Y:^OOS:=0X[/(KF#/ZH09,^
MO9LS@06H!R;IL-]!!72P3/]S:BARCB+GC*$)>"/G[/;)E_7]]GKJCB[@#F#;
M11-HY^4U"D?[,:IHHT%W H:8/XHOH_BRPXLO\Z]QHXEO]311>S,<H\MX=YA(
M%'H@< +1U>4=Q+$'G"QL]7N1.N* LXFET"^B$#G@S*&K&^S-VP*<(&SEAI'Z
M_X"SB:5 ,:K@8"@D]JC>#[=7#3X]Z!P=C-ZPQ[@NZ%QB42U0)4= )P^+.C%H
MQ#-TLK"H#J.(O(=.*DH58VC/&HI,0+FY%68GT8UI5O>9#=CFJ<-F!+:GF+("
M*2N0L@(I*Q##=%)6(&4%4E8@904><E;@BWL.O^C"#3>W7YJNS6CN@RN2EC($
M#^R]4(8@.L<?90A2AB!E"*+<,90AV.^$4X8@90A2AN";RG:C.:,,0<H0Q/X.
M*$.0,@1Q)-91AB!E"%*&H"5#T,&*C"IKC/($*4^0\@0I3["SWDUY@I0GB$,;
MI#Q!RA.D/$$$<>:4)TAY@DB]@)0G2'F"E"?H<[M2GN @Z1*4)TAY@I0G. J%
M%FV>8+6E]I@2V/" 8;/_0,0-D^BW7D]KG*:-EWZS>3H\?\@\G=>(Y/E&W,<<
M-3X,P82@R! ;( ^,DIK>:%)3:VWGM>#;3Q1DTW/&.ELOMO&3H>%:QF'OX>3M
MGCZJF7UVN.PGAZCY2:.:L1WGD?7L]_:\L<[>7N7>2$*]X5P,(/<<GSZJF36
MQ!U1;U"U]S37G>DYL-G?JW!P??R!S>T HJ0?HG"]!V/4HAGP[&/F]T3&.-(C
M7B/TY]+QO6U6]_K L<[?B[5QP[7ZKQ# B5!\LC O6'+'Y<+#Q+I2,JH9WX3X
M/=^E'9/9!R5HG/,_^'P?YOR:=0?3/OZPIXGN0,FH9MP98OD6[?T32(F$E$BX
M<;YC2B2DS"#*#*+,($>;[%M+ ^IB97UKF3Y^$J.P!.>A@;YO+<7'S>4VLI0=
M;X[<0TW(V:NE=<Q).@C,3F\J*\<M,/#-)=W 0I_>7)Y-EVBFMY5(TSDX>6RI
M,VB\-V-+H_'M3QQU1HSWB WH;!T:0N\SV@(ZAUC0/*(4 NC4'1JFWY>C!SJ?
M6$ ^LMC YH3 ]??Z/_K=JF_^/U!+ P04    " !SA -7LRH*1]%L   J%P8
M%0   &%A;VDM,C R,S V,S!?;&%B+GAM;.V]:Y/CN)$H^OU&W/^ .[MGMSM"
M-=,SX[$]]NZ>J*Y';]VMKJJM4L\<[\0-!T1"$CT4(9-4=<F__B(!4J(D@@1
M/%AM1]C3*HE$)A*)1&8B'__VOU]6*7HF>9'0[-^_^O;K=U\ADD4T3K+%OW_U
MZ>GL_.GBYN8K5)0XBW%*,_+O7V7TJ__]'__W__5O_\_9V0>2D1R7)$:S+9HN
M-UE,\DNZ(NC_O'^\16?HW6_^\/V/#Q_1I^D%^N[==]^?O?O]V;OOS\[^X]_2
M)/OU#_"?&2X(8DAD!?_SW[]:EN7Z#]]\\_GSYZ]?9GGZ-<T7WWSW[MWWW]1/
M?U4]#K_&Y>Z%YL,_?"-^W#UZ,O3G[_FSW_[XXX_?\%]WCQ9)VX-LT&^_^3\?
M;Y^B)5GALR0#BD2 2Y'\H>!?WM((EYR,O5- TB?@K[/ZL3/XZNS;[\Z^__;K
MER+^BE$=(4&ZG*;DD<P1_/OI\48*\\=OX(EO,K* 9;K%,Y(RG/D0RYS,V]]+
M\_S@-<#C1\#CV]\"'O_4-EJY73/>*)+5.B5??3,8TP>2)S2^RBRCW#ZL$]R?
M2IR7+K _'=@R_E-:XM0NYJ=#VL:9B3!B&>>3(2WC?$<L\\?Q@/;P-4"T/$52
M$;L4GKIEGZH'8< .H<KA52*\,3!Y*0D[CRJIN1N;1@>3P)@F9W TO?OM]^\X
MFO#-GR]IM%F1K#S/F+ HDW)[D\UION+RO0;#T10C*#TOT$KAE*!Y->&#*6N.
M>Y8VJ:E$I%/RYZ2@FSP2ARH##<<^R<X^/7WU'S5LQ( C 1TUP/_;-WML3^=R
MGM=TQGG4@UOUQ#<192?JNCR<USRG*QTB4VW*"4(P)([71(U5[FA)IO0ZR9@^
MD."42>>2 .!+4N(D+::,#S<X;6,:O3=-V$<-@FM& BS0E*(='FB'"*HP014J
M_IE*<Q'H ,H.9+2BAG'6^)0LLF2>1)A]QE%$-XS5L\79FJ9)E)!B]Z&-_6R,
M9\*40^"Z9M6G/1[H?(<'>JC ^V=/*XM$K5/> 2MG;$>=?7^6DV>2;0C[-Z(,
M,RZN2SQ+U7E8>2!;S-L+T(N _9[9VX\"!?;O#H5QL*SZFG3QJB:A73'I;\Y2
MPJSSPH0O)>]:9<4C&%ZX[S>,^VXYU!$QG(S8O3S624%7;/7#682+I?@/^>LF
M><8I^ZTXPUG,6+TH\R0"TX__;L!YYL-;94Y]-+SP[P^,?R\8S G_+[K:8X88
M9DR@UICQWT?$XP.6M7<;#%TK5SOEMV<$YQE34Q@\6C =A>1GQ1+GQ&1?J YF
M=1?T ?7"\[]E/']5H8'>W#(\WJ('DJ,G0&1$+*Z\0KT,K4=V5^S[N[,D8QH,
M8Z/$3(GH&L JF[8!\L*:OV.L>;,'/2)F[*1]+P/V$]05T_W^;)U3QN_E]FR=
M<F./"7$0ZFO^C $7:HUHE2V5('OAT]\S/GVH<)F@!T"&ZPM7-3(CXER]]>IE
M98-%<,7;/[)=5;*U21C(,UP4A.DH< %AP-1J0UGEYFZ07MCX1RYN:R30.4=B
M@N[(F/A7<6EZ&5>'WJH<"[,NZB"$.2YF?-Z;XFR!\?H;8.5O2%H6]3><N3EC
M5U_\^3R*\@V);Q,\2]*D9*?#-<TOZ&J5%!":45R]K$E6D/,LGN*7$YX>.(HF
M.QM"<\W)%3HHVF& B,# K_XP=#&H)0J[DK;??LO_9=HSWF*^AYC@3VFV*$F^
M.HO)S$CP:H]J508K0_<BCK_]ELEC^%2@!X$/5RIN&3YG@!"Z9 B-2#+KKUVO
MD#9<$&_R^B9C8H:P77>9%!&S)3<Y@3N_]PS0KQ+AK/**H23N&MHUQPK8B %'
M>^CH%X"/. +_7Q#IJT1M:D)"9W+UNS,VKV>F47/-I"!90O-J%Y@(5.7A[$K2
M7K!^1.AWX-#=(X*>.")"JHY)=*JO4K_,U"2],T;^'FZ207$Y2_>:BQ$/JXQD
MEWV[(/KA7+C(K779AN8W)J956I9^?E6GM3-6_<T9+9<D9R8AB'_APQ!*M1&_
M*@]GEVE[P?KA7+@$O@=$4*44<%>80&1,[*N^2OT\K$EZ9XS\@[C(@+2!F!T#
M*T !FT;/*(]FEXW[H/KA8K@*YE=@9QP1ID7L$1D3%RNO43\3ZQ'>&0__[FQ!
MZ"+'ZV42L0VUC]<U86'%P>QR< ]0/PP,EV<?=FB$C=D>OC[]W*M%=&\>@H;J
M=K')<X:NQ"\@?]#0&W ZH&N^DT/NYCAW^)>2A*..2? <)10)B"@-I'DK< 55
M)Y4W;H>\R'B3DOOY1UQN<H[1_1P\EE.2K\!?.87-V.<C,QW&<*?H@G,>?E[A
M@^@<[3&"O[CO=UK[?M$O'"\4VLEFO%S4UAKX#42OOYMMSU;X+S2'*_!X$Y5G
MC._(@N;;LUCD?VBI*I9@>0AG5\8I9,1[X]O9EFTCAB?$: ">Z*+"$[VI$G7>
MCD@ELL4'AB'TAHL;X(@Q.$X<'AUACXEQ'@>ZHC^4F-\%^H/12S,"T<UT+K[<
M^7%,9+K)P&Z20!00\)PAPF]F:J2X<@-?UX["48IFH^543S/17B-O0K=QA:8L
M=97>,12[G6.[YN/F?>*8Y*X:P:D1%9U+WM5.Z]_S?O,Z:)#TU1S<C0161,*_
M%#XR,;D4;G@4QBV)=9=671H;K=<8L@*+S6J%F9[.L%9_R61_^48J6 ;B$.1'
MF+<(-UMB1K#A-=X;HR3PSH16\R7M<=9 R0-Y?TP?@*H/)(NV][,T6?#KDVN:
M/S%<BO,L_E1 9-Q'LIJ1O$U0F(YALJ]U8;G>AH /:B T07N4T)SFB"/%=Q5#
MB\=)_B(PZU$6@\P]KLHFM52NZHP!W5VZ(?:_<DD0W1.AI&C-M@=#&Z?I%N5D
MC;>HV%%EPZA2XI>O_8L68[:E5M;#?WHTV)D;L;8@>&:X2"(N:.(DW8"4@3R8
M*I+EZ%43-<$'(I[2LH<C'#ZEN_*[5-, #> ]3(-OPDLQ#4CYJH.WJM?7N]?'
MJ 1X8;$!>>6V^<:_S&B(;H%T\@RQQ5%M(I&7*-W$;":P7-X%B6/L/$D71[,8
MA<AY:!S]E]7<T--N;NBJFAN"N7V!<L@UAPX03E[8SD\5C>9G$PFC/)K#^AHM
M4$,4VSCZ:XR[37VU-"MR]"Z!76-[)QOO9Y7AH&!=RU^R8$Z?#NZ:!=6P&&HJ
MVYA7*2D(KN4<V"'2<!.,87)FAO\E*:(\F3$Q 38_. &X-;'"$%3"C@XP,N 7
MO(+"HO5?NW.GX24(;_YW["N)O=]']T"U?#I_-#D<+<+S60=(!:]Q5 GJ_7V,
MA[!-KAA:;4A_J7W7(IHG3"*2E&G8<<L3)KO2"B0OE8R4, I<Z(C]<,W1/.-X
MGCXURCUHAP>,2R89+*SW?;<I-\PT90I(7B9_$X?TD, ^"W#\[+E^?$:PXSB2
MZ+R!Y*C# &TLOOEFTUW1@ 6@BBJR%WS>?<^:[$*W*/@N+66 ZGCJ4$%,22,>
MO??Q,>YKQ^QDH]K58![QEZ>Q2R5O9LZ?YSGC+S[G]]O](XQ1X*OSSSB/P=R!
M/DU%F7-71,%K24R7.+M?PQ#%^6*1\TYG[$#)DZQ(HI]PNB'WF[* _I3,*I?E
M@8P )=,\DX"H^TH;#CE'DP3EU[4FZ\ZND1W+TX Z0;C&#"4U:N@9</M[(6![
MTU#'Y'.5J#4&>4C'@<]KUIG9$Y#SOR1E$N%1J- 2C%Z#1GV(^1>@8*,W#P=3
M^O(U;AGWA5+ NUCJR]7'?R)%2>*QJ.*'V+P6+5Q@[5H("2A<B( GB>=[E!0]
MLZ__[E66([X)J:VT,4- 1>4P/RZ0>V\0$K[5$2-D1Z6!'*:*?JE.OF%,94/+
ML, I(>J3-Y6C".?Y%@PK?ECP;V2O&<D&YVAXJX<^#-WP==2/+).+:@J('UK\
M&]F+HY0/[AEK4 EWF]P2H&@35XG>'VM-3R6-?JVUGZA,GIF"I%G::>C @PM
MF2+@O$P4#\KGB*%*#44-+76"!'835*,WEGHF%M>VM=J4G04+?<XRJXQ @OB@
M<!9;P(*<F3*D1G<RWE2(CCJXQ1HK6#OEU-;7<QN3MN^,=I[Q\#X:GG2@$;0+
MBN3;4>XG\P4V;9VBO&HA^JE(?S#:/18 >>O!TH=0^.XL73^-<F_96/Y!S5WT
MUM3O9<^):GOJFWZO[9O^P(8HBYOL@4=#_$R2Q;(D\3D[Q?&"\!\O&?&N<9)S
M\[_K^F=,^ VY$!K#/%S+#@Z1Q!/TN<($88$*FC,4Q(40>I-D**9IBO."Y^GS
M='"_\F)T"R.].1H#<J.23@QG7CZ*K2U_H.!3_I0]\VLO/:^0=0!6Y8,)(L&]
M1 VD10&.8H0>(_OKWKMMAR_F%Z 5B*OI\6H%AOB-3BO0G(=KH?%(>%G<?Z@%
MYASF12T8Q#8!>E52CO89KH2GF6O >'A?W2PE:(1O;PEN ([;_H ?I?5OOL)#
M>F$J+=MH;E;W)9SYQ=:G+"F%AF+UFM40BJ,[5TUL@JO6C3+;'&$$&(]0NW;$
M!!J7LX-6-L!!MMX;!^PMP&@#*#L[V73A^3KJ5/$:Q=EW8.GN]F/Q:@]#;:88
M<CJ:K?078 )?TWQ.$JC-4(S/_C5!;G3&K\XDG/>  @9/4Q)_4V'U#R/8E,V\
M6,#FO/,%B*8[6GDCQR>8]%$;G5A2GX+70@J!YVI<#^#5K9&=P@JVSXXOC\+#
M*B_\W9_-!I+6R\ELRC@!K/E&'ZZ]:8-AENXL>A.8OJQZ'=Q&8=FW.MJ^X7SZ
M>LU[(PX98N*;+[LW79H+&5C\G"P9WLDS$1&-S Q@4B:[V.0Y5.Z>,AE3 ,I,
ME&4Q_ROE<_R DPRJ?)_G2<&.C\M-SOXK;L_N2'D_G^(7B:KL$;*A)NP!0R_-
M]D1?/4 9117.J-RCB7#\ETU1 D<'.<E],@(-N+H!SF'9]Y:/7D4POD[;'G1&
M<<!*?WIE9ZKJT@\Y1K76T]DN^]W9@M!%CM?+)#I+]@T\V2G_3#*F=#>_FVV;
M3^=D8;SKK(.UNPNMH>=G5T+KI@\[%%"S#RLHO1SE@V]GV^;SCQSE<>Y1^XS2
MOV<=K;[_/<S+AOO>P69 />U?/>1&L'MYI?PO;>\:LLB G3MDW0?N6YX)/J77
M28:S*,'I4XUSZX;K?]IDI\A']<'B!9I2M(.-]L#],ZL">:DFS<9?P?$@"IB9
M>U=5D;\IA:^N7D@>)04$3AVY8!_)BEF#S/Z#9F<YLQ8W.)V2?/5MUS7AJ!#T
M7>?1^D2"EGX\N3/):S11M,<3I<F<H#=_(C@/>&<RBM62WIR, CM/I]KYK.!@
M]4ZWX[?LGG+UZ$%/._1+C8;?^%U=RO<?@.WD_ (B90[S9[U'P[2#'UW$RR&:
MWE+/L\UJ1G(HI,1=9P6_MQ<?O[3+>@DC!,@AMWIHP,'%#J;[;+HDTV62LV,M
M2]BI5>!\^Y' ZK8=&NIOF1P:_:/[T,% IV)F/+1%YDB@!A;H%X%'SZGA:6YF
M':(?R9K]RD_!Y\/IEGRZ>(]8@!;0&AQ&#4D[_L-16=^\V[3LU%#@?1^.FFB.
M/N13<SY>@PZ=T[ID^Y7H!15V&LQ?CH9BNAMM:"B#EMV;G(52]V!60Z%[$55Q
M;/$J/&DHO5I&]"5H6D";R(1A,_A1S"#C33+BJ?XNOB5%444-E6@-G71I%F2#
M=O$&U2#7%Z1>'+FSJE_(0YY$UO-3K"(U6E6D"_EQ.9A)A1I: VY?1&"^71;S
M>KZJ\\T7)'XDS9>"29X>?$8K="1X?SD&D62"X[20K*V&;9-IA.WE@FYGKP)>
MB2L&^GPO;J9W3,%>SO(D7I"+G,1)>7M[(7?W*KU@XNGM'-AYP8";*6I 1P+\
M!#$$S/V[EF<TV+7;,<D 7ETU1J+ZM!RX(VXISIY(! W>MFQW?MA@?L/%=F-.
M^+Z6[PW-5TUVB2((]RD^.$,U'OSLV&&"=JB8[QQGLQR\AY0F'F WZ;(>'4+I
M@3L,W"3[&TYV/B;%$R,PCN^SGW">P-'WR$Z]CS0KE^GV4\&,&_ (P27H#^\>
MV/$("[@XUOE=#&VR0RVAX'H'V\15>W\'HY&!?LQ;I>Z1G2".+A+XPC5IC3$"
ME">H0AIQK!%W90+>Z(=WZ#52;+#$7%7TV'!ZI$"/4M#C?\%53,2/<C3'$?3"
MV4+2*)IQ"A<["C_7%,[!$H$GH+$J,TEJ>@00N+8E#76YT*_& 136T?PZ/,HC
M<1TWT/B[<A4'] F_ N?O@%#J\60ZO+Z4AA'F+G3+AR\S5V$D20G>L@_&)#,.
MG:0>1(,$8'@)<(28USL=)S,POK09"3T-K,X#Z3G"6QBW6\B-+.Q<Q]=H(CD-
M]1U;3*_WX-V#+?C%Q8YZ"1(=2S3H4"'2J%6JJ%!]YTC_&(!)(,7$ &/7.[N[
M].R7:9H,81R+Q_%@;G@UYW1CIEYBU7KA!3JWI7AYW>4C5*&=KK7%0UQQ 5_-
M8;XK:7W8?&)@_X6@" 4ZVLT1=[WW7VG;E[!,9/&8M\49KT^H!!<BKT9H!!<2
M_F<4PI'YC^8JKX6.?S\M5/S*.1?GVJC/,3O*?H  '$WHX2W:D $XGJ<3(G/*
M&:4='5P6HIY>)2$MGUQ?;O"8KH!SX\898?#8!1RL>9G,4M)?LJ/[8<-3H7U0
MYXEGAU4NX(*Q@0@J2);0'$'Y;+_EF!5)3?7H-QXUJ.C9+8V.M'6M/1?ZD",T
M7"E&EM$-Z05\Q6>,*Z;1.6R<<H+/4X=?-?Z<E,N+35'2%<EO$SSCJ2B]9Y#R
MJ^8G4B\(UUOH4T9PGK%]4S57"74(J=.:#B'@> XHV?ZZHU4EV--*L7L%STU@
MF %HWQ:Z!HJC-\\UYN+5I'1*8SN&N7FTWNNCU3#;^\N):S213C;,:^,E]G;6
M3/$+*1C*$(;9K=1T/&DHR5M&="UXSZ,HWS"-A7>?XB4: .L4E8!*$)[N(BO5
MH)4WCJE(6.M*"2FZ^:;W>4/ND8[KBX?2/623<\,B_B4M<:HGZ*?P"L*Z4W&T
M"?IYA&H3[C6KZ[7]:[V/B0;(\:CG.]1>L5J^F\-(5$P3FA[6;M:3-X\D)8#=
MWX=6>;J9W&J3DM7TJ1/0#<-#29'L?MA<&V@9U(,JP*&BM0 ;ZO#LHB?5(]+K
M/C;72<Z'.6[0ZA?HF([.'7*O^O#<S6(TQZ<)78<<H!>8"8(T)?$WC9NKOX^S
M]'1_N3Y-)8OK338^DF>:/D.^&Z^ =ET50&NM+JKUCJ%DZAS;M6#9 :^*TJ(:
MO&(-44>LKD9O:D3$\1_"IX%#3@L.C.8228;/Z$]7&>*!(P[_<1?DA##_N/A1
M%!]N@BB#7ND<'B_G+XG,&)(_:!J4<C*@\Q#)8XT @(;1!SJH2=5)Y/L:YVJU
M3NF6D/<D(_.D5+O+Z7EIV(6.9'!?MSJD H]F%?R0%R)]A#Z]%5&BGC<F>\AI
M1$A<7+/)/>&4W,_9-^R$*K</C/@E-#AAQM=Z)><X@Q$,V4\#DFM>K%%!P!0H
M3HHU+7 *YS&I40C"E2:+02U0.-#1>4FAZHS2X7GXJ)7C4PSI_0 58,=PA![1
M5'J(MA'*&\?<ETN2ZX9$J+UDR$7=@_LZ1BE@$82)%(E+S2CF+S KQS%9X?S7
MHM/K)WO,-"3K:#C7[+*'%]:9)R4C5:6-;\6=': X5PV^DCP\3%$_&M279%GC
M+7L[#:F6R\AYJHYWTLB?&D[3)-I.R4OYGHW]Z_FLX*D/,I6[^VE3];I]5%]^
M4PEX$R>?M9D8E'ZN;O#A,H2C$2I@KX]'J":Y?%JD\28J?\;@UBNW?)OB]"+%
M19',$Q)WBU/-M\TM414HW@2N0 =]KO )97IJ49X.)*?OXYPA.2<,(9KA])HH
M'NL]+PT[WB6#>^2Z'7@T)V$#D_L(?7KP*U'/G]03MQ7%E)Y'?]TD.92[9T2'
M?/SSHB"E[(9 ^3U32=<WOC?UH \1(T7!XNR&A X]L.^7N"#@0$QV*""L,#%7
MTER9KZ@Q.<-M+FT?M_8 MK9;, ^W/D96-J"-^=K:B>L*EPE: S8\&2VP>U^?
M#[NVY]B<^W>, KA8WO J?<R"8BA=)QG.(BA>79)5T6,7:[]ON$N5X;C>I R1
M,\"$'1H5*IQ)YS4RB.&0/'-?Z1^",*S^BM#!9!Y_U>%]^*JHK=(5DF=S?-\U
M@X_Q&'U)X&.$O5:J'4XM W<51^6,XX*:^*(&PFBV1<WG*J01QWJ"]G@C@?BK
M;+0BW3,VZL]V+^WX8XGY?WX24EC,H+-#HV40OB.(6U 9??!P"\Y>PV.MT"R,
M_.+_H KWL8@PVUO(1A1M[QJ'RF8]C0Q@JB*/&6A\=9D444J+35YG5>XN/.0N
M7 = [&3/#D3&6]9MA2[;9)73N('>A-LJ'.GFUVB/]@35!59_ =01QSU,^($C
M9I"G_EI=8=^7=PS5)Y(_)Q'A&'?&QZB\,NR:KG5H#Q&B_$X.>+R"/JF8/6@<
MC1*Y3^_F%&@X?KN[>8 ]0CG3@AUC$?L5+ZPW]E&!Y=L>[\)I]+9Y%_)>[72[
M5!R#SBMF,4&J!!V;[:ZTUVS8\>I+[TT8WF2,@QA&#SB)+_ Z*7&:_$U:EJKG
M:4.!)!G5ETB1@#<1"M9F8K"M:]@(@#/5=P]^@G8^<*9(UQ[]('NTCX&H)BV]
M[9/3L/&>RZ3^%PQWBWQ@7^TJ0A<35" MU:>7-U8Z*H4O4HGOY_S(:.887R;I
MACVV-])4[C#M#F[(HG:0<,W./Q]WA:ARX3>@\)041>QP9^BAC#"6IT6C-428
MRU#+2TO=KI>W[53I4QUI\"U/&#)V8R37W%DKUP$3WMOH1A6(X7OI.],X6Y\9
MMOQ^$C=W#! R8;.=>J=,$#1%\Y8)9^CVP? @653'?]?A2C+]3.DE4QVM<W!?
MADTW%B;VC>UY&9@Y@ )JX( J)"9(;6*N=%(U=J)FM/3G&]VLURGW8>#T A?+
MZY1^OLGF-%\)'T>W\JGYMJG_4@V*ZUW61 -*.%0J$41^\IBZ.4,+)7N\PBB-
MNDM"!]+9WQUN5UJ#E=P%OPD*YED(IGB:-!6XGY[?HO.GIZOI4YA[5&GR0. ,
M@1*$=O=%9=LSQG'^C;&<7T4*8('O'5NI1Y5(XHT-ZMI,U55G>Z3,KHL\OPTH
M>)^.YN\7M"CO:/DG4CZ2B"XR<'H^E33ZM:I")V$OK[ -V=8+CKX$MI?)F)P'
M(Z7RP)O*W0WD_IIM@G:SJ"\F!783!.BS7TNT)27:SV""SE<0)1-$A/G=H30H
M0WP!(G<WDGB)QZU,ES@+)885\1F=:.[!^_6+ZYX)CDN$6U\-8['^7D.L7[U$
MZ09N(/Y.!;SJWO<B]+58R%^=OC6!%)EL<0MMJ*Y>8 ZRJ+S.9TVK\K6-Z5JX
M[8 BWGP+$0$V3%F^3J)2+4J]?O5!)#A<T[SZ"IZ3)3V%06)LBD(KLJ]>.VB=
MU:A4 DMT]Z('2$_]*NUJ3G/4F$;(-*Q F]J'!J# ,=X$^#X6Y7[>Q/N1I%"]
M ] O3M+1BK[<+4NC&HK8@="=7WQU;]OPR5:V5H\Z6A)OF^,Z89N3W";/)#XN
MI?1^^Q'_A>:\2%Y'Z)3!"(9,KP')-8,+5,XX+FB/#!+80&H$QP=QA$(&:)FL
M#K5 \C$P\!Z_.[PBG2%@AJ/89^0V:&&9>7+ RH!5V'@STZ52X^I^^OL+M(F6
M)-Y BPPE->T\Y7S(/MW/CQ4Q?OCT:33.X9D&\[C"*[ 6Q.O:@&,CYBF\!]DX
MPD7)]"1(U$:AM27WG$&]+[?WTI#,&&HVO^$^T4NRID726WI5Y=6!Y2"[0/@N
M!-F%RY 2D);F.*3X8PV.[_AU3M8X$2Z)<51]5&*TEGJ/ZI3UMNW>;XHD(T5Q
M28HH3_B]PWD6,_&1%-!SBA00M C?]AV+Y@,9;DE]@*XW:(T1:J#$.9@C!>&L
M3;3"6_<#EHS:6X?Q%%TK.NLM31F>;&)0HK773G()RE41-@.4G%<OXL41 '18
M6\KI<NH4!!N\1OZ"RG<(R5UBK<^8AI@WQ_+)E^%\5NWDHTHT\5=)FI0W6417
M!))T)'S0^HQI1>CF6,ZK/E?YS";:]D!$#5(.U+!U57^Z=8VI$CW&X"0]CZ+-
M:L.O*,Y7-"^3OW'9K.\G[1G(OJM4 M"7M:J/F<EN<CK_(99LPT^,*S\QWB.$
ML/*\_;N)^SA5S5.L1/XQ[' F@/1W<^,E^SN7#>YZE[:P9T:,&HC8GH?! ==W
M07/7-S/_>ZS)/VK[Z828WO;.(RG*/(G**EOA$T.Q>'SZU)FJI_2.X<[I'-OU
MQMD#1QPZXN#1&X9 \39L@I\:S:D1(<<@J#_D<E-"]37[PIH/'T!<+P NZ!&A
M8O652:XFWUKHZ.\.BN0\*3^K;M%ZTI"[GS:]:6H?U7EJ\AZL*%<:.DNYA[A4
MDV+>>.@"PD"9FLL8^I+,RB<2;7)>,J^3EQ3?,N2IGM&=5SO<@T< '^T1",MD
MJE2GAJ3TGWRQ3R/M9+?>YX>F-!R/&SR&1" 3EMWZJ=X6<]Y-2N_EC:M@'&#^
M72ZA@D=,]_6!!9#[P'@0>;RDSP:GT$=6E!,.F5.F3?^6^L%Z1 U5M.X.EYN\
M^WI6X0T[Y>J:([MFN>-R;A,DH(>].E4AM;R4FYQ^ <)+SQE:,=1M96;+_MP7
M.X'$$-!SP>O<5E%V5SC/V#2@,#T_G=3C2FT#&AQ0:@LAYUI A3&$VC1Q;BJ<
M-=8(^!0U\(:7:LPA"TZ80>.++;7.':U!I6Z67'778DP3OA7?_?;[=WP[PC=_
MOGHA>904L"#WV1-9)3C+V G+8XU:]5W-MS0WBN+HKKF^@0%B; PXG DDJL S
M-:77T]QB&FU6=4B8AKMU+2+)BF8A2*@C7K*C =+V2XHP3[QD:M8!/3 J&A29
M >Y?>]W"NDQ(#:GO+[9GF&QXOVT?H"M2R#U$T[@C=Y@YCV*2G) A0YH\K#,-
ML'B!MV9OO*KJ:U8WB<<XTG9.GXP@34^9\KUL&SSD\]!V8QB]K^PW2/3>5^>6
M2WG] :Q8Z5V ?!OM.YL]G PV6 6I :].6H]^S)C,]]>/#4>=Z",G]5^JO6;L
MM^P>WCD?0IK*IB HKSH0]D8!.?-3*M*9FA+/7VH5SGX]CV#"<#7)U HFJDMI
M0\">ITV3I-I']17\*0%O$E]F;28&Y94 -FH 1VH3<96VU<,I5)-H'J_&5ZND
MY'DLYUE\<$KLJ\+TN4G-!C&^.-<!YOY2:8>-2(5OXM/HUAX^L]!PD:@=RONS
MMO:QS9?@H(H2;BFRSRFI\B";]V,/.06'U182M*"/]U6=S"RSRBP/;VJ]64+#
M6_\/2_@:=1#Q3ZLAV0FWD*W<S$>(&TAS&1,\0<'Z)J"N5\M?N*(,'WDJ@\HK
MIH&+'4,[CUZL8$_0&J!SSMV5B@AGS"A1FYJ0,#R/=45AJ[UDF\^\1&#W<!J/
MQAX7KTF#L'4(Z=&)F"V8A;:"(*.>]/&N1XT=@Z=#NG<!9HNS*0/*8V,GP=/*
M.\E*=6@5C&EZ@K^Z'K;$.+Y"OMI8)VRX5R=Q.]@GZ-4%.U^A+R.3B,])3.+W
MVT\%9*;<\(K.$.48E<FSN-OK[MMI/I!YO0--@.YSE"K0S+"H88?IV#E@,:@]
M"OM+ CBZGNYAU;['35, ),/ZJL4!,4&H ,AA8OS[J$IU216,?_H\L:[B3H.%
MC[9&?P;VI&J%;UJ.PK1PUQKET)GFDHA_;S+>FQO$)U1ZF>(74CS@+42X2:]=
MM4<POH%5AN0\7$4 1@(R8J #7<7JTYY:(*B_^RAVK%_0%/Q_.4ZO:?Z>YCG]
M3.)]4(WL$DK]3=.;IWX(OOSI"JB8N,J=S-#@<A?P0'M$>)G9&A6D.D57]V@:
M?$8'D-;;EKLD<Y+G)+Y.,KB1YI6GNSR)O<\;;B_IN+XVE10!DZUD<38&&XBG
M=-\4Q887#^# )TAA+H[V3#_+4&W*A=>8;A,\2]*N,TGG5=LZ4@.$KPVD@HO)
M7G(S1X-M56N!J>I\?*N!;7REHO])">ESEPD-M,IH?D\R,D]DCI*>I\WW4MNH
M'K=/&WC#'3-P)L,*+'(CJ<0O@?/KNYF$:M)K8*9DT[O^$>*O^79[).NJ$P%4
M9D^R*%GC]'S.'KPC+^4CTQB3;#']3-)G\I%FY?+XJ'$QM$G.I244G/<#(%N:
MQ8AF!&T)SK73+X--TRQ'LVK&0^<HA7LIP!S%H!NNA94_004;!RX&YAM&EARN
MS7-1UGS"[]$I],- Q3X3+6%*)3L!RR4N$7CCF*)&R(HG=LZV:$G3F#W/?ILG
M+^PQ9K?%!* R70X>6><)Q.K"R#&3*P5:<1K"Q010BPU+4 ;NO5S0#)6<:&C%
MJ<;LP#2EG_GW[$&PI8H2S7#*M=QB24CY-6*FE2COD:Q$M)1(,EWSMCH%^KPD
MV>[W^DLQD37-(=Z*YZ?6\/%ZG5,<+2<B-[T-))])@/15VYN>NF1QC];LK+S)
MBC+GN^61<>=J+0+%&.<]$+9-V!Y:D.8D^!YYY'PL306P-:RQ;3P,O#\3>AB>
M9I:V;]H8&^0[+"=HCR?BB/(NSQ6JHBU-A6S=4$V-1,X,>$OL3UVMFY& 8>?:
MUPOZS"C QLVW0KY4?^Q%2_7%GR_NCH3#Z0^:VWL_@/,\A?^\N3OWRCHMQ*'R
M&7L['WB#KSN:09P=AEB!#SC)"DB1E'IQ5%XQE.M=0[MF"0X;930[VT%'"P8^
MB(!1HC$U(5Q8/R&PN\E]:MM[-CV$S?&#N@>;B%CS#0Z;G9ECD,.L[:KQ> 5;
M&:G/)2BGG[?=]"ECZ/"6LK"S86/?9\RT(\DBN]CD.62L7S+K[1E#Q06HP/^>
MS-G/4_PBV6;#!S3<?^: ?6U,<PQ-=JP7>@QQ7^X1A(MGP N1EV@)A6O1&S@A
MWX;KV62!BZG]I?"GO=7'?>6GE:ILLN=,];3C\7QMS1/ )CO. O8&K5^F\ K:
MZY9$:0:N]$LI0U!E.@7R84$R@9)7JOF@%3\3#!C&<P20A_N"S/"WX=WA"2!O
M_D1P_G8$_IH#QI!Z8$ZI%8CA/V6;@L0B/HIMQ@N\QE%2;H7W1VDG*(U@98MT
M0@JS=SI1&KZI+,_8QFX3**$=3JA&:H)49NUE#ZJQI'1S:E#=VZ[]0#*(982,
M_'B59 ED2H"B6)V>DIVJ^);A[NP9W?6.K,"+B\<#!(*PH"JMJ2$!O;':OAT:
MQ-%"]1GV#R1'/^.4UZ,I+W">;]G.^ FG&QGK&8YBR(J:T%RS9J,[7L00,3D(
MG,_(X#!H3(M'C?,B3/"A@=<$"6LVS#E@RG6MW0 -".\U=\-T:_K8D*/8ACLF
MA4W(RU14> 1+9C#BR#'SX:'FU.@.-F4 "@A1FN88&N5<XJT\R<%@#"L610^L
M,#9%#U+#K0KKL[9A5S208B9]C1:J\$+],_=B6:@RI]2VT*+]B'8Q^PX"$T$[
M;:#[K?&.[AG/V>Z6P!W/3I<@Z&;76Z.&0PG0P/$U2(,^QM:2#$KK$UY*B(]%
M'4^F+15D[]N6 L=P@N_Z8X2L[O+AL[6^J_<HB4!,]";)4 R9NGFC<,D8W/@J
MW*FRE;L7P5^EWI3O(A*+QBW0)Q9:NY"LX#D.W5Y$O9=-J^PJ 7&]8\4]*N?"
MLQGOIALUD%#+L/([/X,]VMLL^"I@(IDFL]%A% Y_=N[.^F84-F]ZS 7&-$\6
M"VD?:TNC.M.V.Z$'/WW5T'2C>5NFC$/]^S!5@N-:'=Y*! JFB*MQOI8ZKK%H
M_AS!@.0\ <%7W,\OR9H62:GH!]9XU=0-K #"6QT?!5R,"ODXF:-))9\&(K!7
M*U0FD"):8X,4ING*_ZW#;G0(?0<FCT^7A,WMXT5.XJ2\QA$4:]C*^^LJ/&Z2
MY-TQK',M>$G0O_S3M[_]X8^  1(HH!H'\WZZ5J<TN)%N>3C+2,QR7L_R#?S^
ME9P,7[T-D(>LPFM4E]J!E. JWWE[R3;V(Q@?3R7.2S7G4<^[5A1:"0PO1:UW
MQ0,FJ "H5>X^8TM(@!^!QM6W %*]2HFJ8^'(JRPVY,?FFVZX$2#XYD62Q>/G
MQ /2J_/A*3T'I3G')!$,R#[L^8[]\>=S!CX&%*Y3O#CB+NGOFCQT,H[SFJTU
M, 30O+*%G&:TEQ#^S#2Z8HK'DF1%\DQ$!:0[4M[/Y3ET"F^8&F7RD;W98G(4
MC$PPFS,R2+\Y@!\N84V%9:@!U1P)P@L(JLX)OJ#QL8M"]K.!&&P.XSS@#,Y%
M (8 FG<IV$HQVD>&$2A;VCJ6,]7*MT8U9FU*3XD*UKKF<Y5$GV2+AYQF[&,D
MJJH]T#2)MN*_?<T<3(<Q;ENC!\Y]]Y#/:(\0.L1H@@0VZ)?JW]!-(8P7B]I:
M@8"%3NKV[C\GY?)B4Y3LU,[KDK);"7<;CF*M"$HGM' E43K1LE,@Q?+,#6X%
M/F4$YQF!@I//) OD^S=EP,[B*1JT];9?>>Q!<;\IBQ)G$+ GV9'2YPSWW,EX
MOG;5"6"3?6,!>U%>E#L3]?;'^ZJ^*(2B\<"?HB?^S/$4KC+-$BK:$W"TQ^4L
M397)Y-,?LZ(9O\17W;(JKYA[9*1#.[=9.6Q4 /!)Q4"([N$'YRLENE,38KKR
M:X@$R.NDB' *=2G8EFZQ<E4>-?%W2(9TSD<"+A* $4!&##2Z]&W8*M&5ZA K
MD(?D/2Z2XFG-M)WX/OL)YPF4B'MDV*G=2?6_;L5[(@<3)L!/CL_P2#Z;<[41
MLL?Q00(AJ*5>HX0>Q^%-4F!!J6])E=:!-N<-E+4G10D8,:VS)(WH0*7MJ3*
ME0W:!<BWNS.I<!F^%>W.RL9FK#'BFV^"!%*-\-D1[$<EGI/N2'62>]N3M^ )
M@*YEDBUW\KOACMJ-X^M,VP$TV2D#L#78"!S:!(5 UK108@HP@_9+.F5,VDN2
M$9QT5_,Y@7[O9,!AUS&&]?.N!9;K';P#N3OL4#X.;4QU$90.@%[*^J]3R[?-
MSR19+-G1=/[,OEV02V;9\486#.4*4PG#F@XSM,JM(CC7;%MC@"H44(T#5V?0
M6:.X+)>>@4O+ZBY26^59(\H[\AE=5M'LPA/QP#W!U^R[XYHY2L\:>(VD8[KF
MNQIP[3<2H!&'[=UMU$]9JD4N+\P";BLU5CEY<C"C[$;TS2;<O3@&)CFE:2N+
M2 CE\5Z2YKSJ<)_%)'_0^&;R>$#7O,(ABK+0X17]#GI2=2+Y-ZBGX&[KBYKJ
M>7JHL7TXJG-?U=Z.1;]PT,$#G?KHVV8S=A'-\7GT4%]@2VZ[.I\;<!8=C.?M
M)*HTE6!W7-W4I,HD&H>A]DA6.,GJ'T$4RFZY3(=Q8:BU@/-NJ.UP0!R)1C^$
MXFV+W1:R58+QTJF:;[WKX4@"7F5E4FZODY3<;5KRQ+L>,9![QT,Y=VEQ> @
M(@'1N["34H^JD"1@N.Y#3M8XB:?X1=I 2>TE:\&XS<'#Q=XVL; 3:FLXKR'=
MRRJ0*.')4ZCLRU[S%EW;RD"=P;1RZCD5F5<KDB^@I6A./Y=+R$C#V7$4N^+3
MQH*T=51/,K6&C01P5$$/)%^[Z4LUB1;HONH:1T2C?]'IXU9NH?;#NN:D7<ON
MX4$50Y"V$4(!\,?31JB%,Z178S+*.;:XIVSX#D.[^?, ^QJ&\696 [!@MO0!
MP6@?%?R5;RT*4MXP$9ODO#;=$N<+J3K9_;!I>=;607VIC^W0C<JP6IJ'2=]J
M (WVL)'2-%R56>UF$JI',:<JXM,*I^G[39%DI&B[X^IXRE@E/!C-DRK(8:(:
M:" -L)V,5)$V;OE@2=*TST)H>\B<"QJ#^6(" !G8"FBE(54CC&-]YR:;TWS%
M2_[=,OZ[*<FJZ]J[Z_$!^E#;L-[THP9P] N 1QR^WPLJ92)37<KY8R!^4:;&
M/ >/VF$</F08IN&@1\$OAW25\TH+L9P[\O,+7)(%S>5G3>M3@]SYN]$\>O1S
M5 ,-Z-0_)>.)7U]"FT!.IO.71*V=7?-!*XXE&-"YW#ATS*!? &B8$(@.:DJ=
M,:<D<BHMJB321[*F.5Q,0FY,:S2>RN/&\J-]6$^"I$[^W4%' GP@D=)#8JI+
MMT!"Y@ZOR"6%&VTE47/ZN!6!LQ_6L]B9( "-?A' QR!^6B@L%4(RLGGCI6;.
M;"<7R1\TY)_3 5USSD'B<UB.Z: F52>1*I=(6AA\V. <9R4A5;N$XIKFHD12
M<;DI$U+(VQEHOJK)(CH@7#/-#HVZ4T:!F,6!*DR00,6\VX&S60[N?) TK,&<
M+'#.Z[PL=N2(F^2(*G+$'.< /0]T&9(.H7\0Z=QA3,@>LR"9?1@21W(YG!DA
MI:-$)ELR(>S$D%6%*HM'$I'DN<5M9?*JM7BR4Q#AHLI.<;$36S9HCD,BS&K
M3$[7D">HS+'GZM)&#-89;]9'47]WZ_%?V*' "[].Z7D<)W LXO0!)_%-=H'7
M28E37D=L=MQ1\I'\=9.P@X4\D?PYB8B(L6<3HHN,C]+5?,T76-/[?L?HN<\!
M:V_A&N:RW==:TU +Z"^/$>K.P*SNYZ)CP7D6M_0Q.)\5O#2L9/,9CF*: :D'
MS?G6J-&!'H&'G2L$(DQ/JU )HZN9K@ZU1'*GSN(I?KF)&6*BHR';33T)(SW/
M&[N+)>-Z\A<SZ.@0?-C$DCXJ4VW2N;UQ(%#Y.KW)8O+R7T1^0REYSOR.X7 \
M7Y<+ BKB8!&#&^I604)-JDPBC_<(3-1%">=.)OK.5W"W\;<#A]&)S[_W#>/;
M!.G([B\4]J 1SF*$&\ #W2?TDYD:T,ZIN'DDBP0.2G&I(94V[8\9"YO#X3S)
MFCU0?OD42-)(*$E5R>.4&UKODF0_&Z^^GWNC:M6#7!A)24;[Z.!H>6_) J<"
M:HM'NN,)@T4^&LE];0\&#M6K[=\-W44\JD 1IQOZ/(X9Z8KJG]LD.RDPKO2L
M\59O&=/3OJ] 3NH/"("C^RR4W.^B+M4BF3_W:4,E 6.[9&1.9BGA:2/2%"6E
METQ=EYV#>TM9ZL3"*'7)\KQ,4I@:*(#W:(\$4IF7*_>J&C=1,U+Z$+W0G/,^
MG]+/<K5*^N10L;L?T;?0Y=U2:8X =EB!VT+5-G$K(Y4/%GF@18G3_TG6DFZY
M_0\/992#07WSB@".&/0PK745R-O&,1TT\\$TW U^GS_D]#G)HEZVD3P^E'&.
MAO7-.AP\R)D:@;#,(R-R&_MT4LZ?BI>F]#.TF+NF^27=S,KY)E4.2=%[V53E
M4P+BFO%:8S5PC5H8U4B/^G0820.&2-W1DC3P4B^U)7O16GC4,8!PP5''F-@)
MC1HPOR&!45.(@4(<>&._C20H2LI4G2%1W91T>Z&HW@Y3[R7SJ\: +3'K>T?1
M&?-)=,846"#E3K?NKB$5^V&:T#*@!+\OER2ODK$ZG4<ZKUJ3XJ<@PLGQ4USL
M2/)!<QPBRSE@%%4YA#B<)TF+M3IE>1\M VZTF^R9(47S1$-+:GG'VM9JC!UN
M3S60L+.9S&8U9!<I3\';YFGCFLY=(R6:(^4'E$A(^=VN9C1MT7-:?S=0:0[&
M<<WD%3 DH'E74MII1GL),3#C\3W.?F7V*4,,C-;BZH5$&Z@+GL4-9:<2R$<K
M;?R^2>ZC#AQ]3GDF^8SJWNH 2@CO<$(9-ZJ2HMB0&)44L3T9T[Q GY-RB3#Z
M&\DI6HO>6#H][KP30V_;'%-AC;>Z^4,>YF26^WF!\WP+,@'S$J5,Q8+;.Z:B
MH!E.^6R+)2$EBKFG=([B',_+@D?,S9(TY4^3EVC)QB3L-5RB)7YF+Q.2521C
MG#+;\A'S70F(&:/$!!RO[!<*^I!(*(7$4OJ9OPC(3  ;^"Y-, ,&AA?CN25-
M8WBA0E,@-$&?ETFT9*S)6_I$I>#/&2Q6$G/^3#)$,X*VT!ZJ?K>:%'PNFK'O
M\R1C<T]PBGA^*"-H@.Q6([E#!_.:JQ B"NW0EFP)I&'MLD=,@HB.AG(>141Y
MASH &"I<74H]JD*2@6?L(V%"D:<4W<]W5:>+^PRZ?$.3;RB P7B/^[$>A/AL
M.VH'#&-RXAJ <\U(IGAI'T9NYSZL=4*%#:HQ!)&<'O2+YP>0T$9,3V,OBV]V
M*$_9>13A8HGHIIRG]#,_'-<[LHBCFE$E$[1((/D.I^D6SEXX7E>XW.1P7,8;
M@MCQ2/+&T<<.7;*EC'QPZF50[2%M= **MA'<326"X"0/<.X-$0+4UN)Z\\(H
M==.SVD3/;^^\=J@FGI2A>!M$M8E+I*G"G9@CSTE_=S_K3?U,F/@#3MC6*M@&
MNTR*6F6^GPOWIJQ;F]I+ADS>/;@G\QF00&]2AL9;+JPY)B!NYTJN;#\S,]O.
MW5@$G=<0W6/@BCF2 HH[A9H1TYN4N$TR<C^_R$F<0%<4;M%_Q"_):K-Z3_.<
M?@:3%*_9+^5QXNJ0(0PEB XH]^9E4_F=, 6/XV&RS=Q.R^",!81XO0&.$JIQ
MFJ **[1#"]5XA>FX:\)ZU ;A/9;08"K$#??N7C(#(EN( A\B,N"1%&6>@&>-
M/W;^&>?Q'2GOY]<TGY.$61S26T-KXQJ7V1@(W_7^!MRXLY7M@WR'#RI$?$E&
MN%.R$&$FX,M<DC3F1B%9K5.Z);S!('K#SB[Q4)@>KO:6F3I;N]![B5?(L;^5
MM(>UNY.4P;^*C32FS:._L/U[QW"U!KJ(+\ZG/\EKRY[^:N+0W8_BFM$ DGD!
MV"%X#J[Q"L #N/5:5ICVD&,@QUWB$D/1%9++^4[VC GW'8_EO(8)@X<$0'-6
M'([T8(:,81X1QR$ 7THY@"I1:*A4I*OUA@U]]==-LN8=*K+XB<Y+)HY)A[14
M?LM(BO:.[ERZ5AB@'0K\PJ=&8H#@=3"UP?P?U;,E![,M*KQ"R&IU_J*&E!VX
M;QYRN+,JMP^80]I!92K,>\(4.G)!>;^%"!8%>IC3!2^+D,6WC+9M>\K.B";[
M;1ADUWNQQFZ"UBFN6'/'J$*GGG$L&1_OT43,%EU7B/)7V+NQ]G;U31FSK7Q>
MA4[QBU8<L2$V*;B>H5K^KD;7!/Y*26N],3!*ULMMD4 0B? SHPW4IV5$;-S2
M,OK&;*KP]*QJL@E!3HS,[&N"%I3&@M:%*,]:U+?D/!8OBXDP==A,,-SQDI<H
MW?!XT-Z%"R""+&U'ZH"3AHHN$2")%^1^_DB>2792";KO,2,A<SJ<<\E118(R
M?JT@Z@L &UB;!V&L=^"%0X$C$&(S=/ "5265-]<73THO&*U;$H0E;BV55PQ=
M5EU#.\_[KE.EN<S&,;^^">)>4B(P-:':0&G8DB!5!R,])HME>3__5(CJ.VU"
M4O]M$]FI#L5+>* Z.MKRUN5,#>X&=\!1#M!A%S&]2*A(HYK;(,61S2JI<$-O
MX@J[MRCF+ENN *ZYWQ94,WI(D3,Z/]M1)$0+)H,-2 >NQT"!<SV=_J?<LW+Z
MJXG V(_B6B  )'-WR! \![L] '@ CFU98=I#CH$<-R4IB>A*SG2M#YCPW<%
MSK,)!3!S[AN([6 &+ 7\ #S8ON"TGRX#.?&6F;2$[,0LLVZO>:83N04!7,C"
MD(W>->%?51CNBP(#'A.TUS_ $U+A@@0RZ!= !W%\]'G?W4S-K5WV4I(3"'J,
M4EILV$=P%]$#&LPK&J2"!I"8P6?R-72(23<Q*29HMBDA$0\<3VFR2D0N'OB_
MBBA/UK7#JV-<_LTNB0%G.-T62='WTBY+,,"&UMX<=! ?#!0#'^@SR3-@DJ?-
MK$CBK>AYT[;K>QXUV>22(5WOZ3U85 BXH'73ODK^+B=@P6J IDS AVAQ,KT0
M#5E[N(7J4-!?J!;$ [T_;G9VGN>0U Q(OM_N'WD0>44\7N:>"[.B$3%SDXD0
M&XF;RR$DTX N^QCY2D%P@+I)0'58"@Y)=J@@DWB",IX2W B."QY+ZG"G4(^+
MYT^(D305"L1'G/]*0)FX>H$9R<JO]K]@*E*D [N6#$\XK2X]5S7D,,S;3UJJ
M3Z^@>3JW<'^<MS;XT7W-8CY.<WCG-J$L3T4@$:93D#;M>Q)2Y 0=:G*D=(;3
M*8F6&4WI A0^N3^L]V$CLT,VJ'/#@P-&>\@3L)6_-O>;69S)8!^:;')O_N6?
M?O_==^_^*'[G?WS[Q[<A3))>7J)Z9 V=02(R7^[(9_Z34<K5R<LN\JIV0)R'
MF6QF:1(QT3PG_,*,R>A(U.=MI'T$UV?UUD,U 4I"9(\U1$59QNTC_OR162!Y
M@M."IY$\$HA"ZR@DJOJB<371/@"N^9(!!B>F@!RH[J8RD:DYY085#.,1)?E6
M\%KUQY[-JB_^//WYB(U.?]!DD_T SJ_)SF]^/K_SNOXMU*'R*3N]4[JMG?(?
M*W=^9[T;>P/:OWWJ 3R"*REFBM0X0O9\=7WR"\<3N;NLLDX8PQLL/-ND.&]>
M7T&X4 9_ ^>36-34@H):C8NK?RV4+I424BA<<>4$=B5[?A?6+8-?4E6P?-!%
MEOQ-Q(./KTZEG?VJ=B&FQ6M!'28M?7)5'[?H(/'309?[/Z#7=(@&NLI4[7%]
M6&JM:\8_N]T.65.@\%=5;B%/H:,8CMIKQOS4/;RO>YX^/,RJX-B>6TE+G.K=
MOTSOI^>WZ/;F_/W-[<WTYNH)G=]=HJ?I_<5__>?][>75X]._HJO__G0S_5.@
M#:7(7M24KO[-5':6),62Q!\@5TK+3NU_<ZBA*H?@/(BT@BQ2R,*:J@IT;K-5
M58DWT-CYB+/-'$<E=\14)T?"[_[R#G^V^ELF9DO_Z*[YYP #M$<!]-6'QPMS
M3[>+J9E9%SU3#*!V:S 5-22G?_G\,\U_Y=F7$3,#M.1S_YM#Y;,<@NO]!9"K
MO-RH3LLM-K,SR/I8S=)P;7W4:=\FLU4).E!F_VFSQ-G]NJ005EWF-$NB_27/
M!;TM8[GDUGW71'ZKPG#-91P/=(A(XV(/7="O)XAA8R[.W<W43*BKSCB =-=F
M/#J(QAY\^(S@[2[X_0^&/OQ/3ZZWQJ>[F^D5F&;GTZNG(*[\!I&H?.:A[Z9Y
M93G#J^GV=QW4*1S5Q?28+J,E*Z!84'#@5;3D\.;7W+/^ ,W9<8"F\#?<\*(>
MHA$$])F:"N$(H9L_D4(T1+JJ&D9-*7SU,X'<4_;#,\GQ@GQ@@,I+7))KG.1\
MGFUJPGBQ-%%(QC<;USM5X"5*&S7:AS%-M)R@SQ5V" OTT)RAA9X!+QY6$M,T
MQ7D!2=HBQ*0GPN0+I;B9"O90$PT:TVRRI-R1^ZR%W$R"/LN7"F$@"5RYU8.>
M<8+5?800WA/T:W3U(B[S*O P((=/!>$"Z'SCXX(3[7)\*([CM+FCF>";DWE*
MYF7U%#&&[O5TT,8RJ-0WSXAY930SD]MW._(0CAE*]JB)EI[0#32KI6F7V'Y-
MDM9\IPV6H -98;1Z^/EBD?/LM1MFTC(N2B(NUZ]>2!XE;#"_^K8J-N/2J_NP
M=A[J2GC84CQ!N,8$:DX*5(3N-B*=V#ZUS&3HS2&%1"OE"H=_Z+*#=ZA[G56/
MD5Z;!+Z J+LT'8D$/L'F54C@'=;.*Z;7@+YI9'6_8F$\@'#6A'%4X_ /83QX
MLP83QA)&\G93 E?:#,R2J>>7Y)FDE)>=[D[-5WK'\&:D<VSW>J( SC=%O <?
MY!9$C<K4B'0>V:O$24;B*YQG2;8HSO?EYR_)/(F28T^3_HO&C-8'P'GUY8-2
M_!QD($93)C4UIY\WEFL@PF4P"/*<+-DF2)Z)*.0$K6=Y0,\4OTCXSW 40V;4
MA.:3,X6S+&HBI%28S!&SFJX+M41LB\T5KHHR@03<F(>8D;BX9C.]3,#GR$OV
MW,_?5VTTVBR<82,-;=&@#M%+R7$SU :U>W!) 8-2Y \'K2!VR*$:.P3HH09^
M\-CH"3&\ANZ20"N;JB AV9%E79.%%R>,#\FRZUZ#V?\:338"=]8PV.5MS3=,
MU\MCM/5)X740T_N<2UY,'EK?[+-YF+ ^GS';"T<RA=+2J,91VH.@.W?/+,&^
M+0XK^%>=GGB3I3U6?P@4RVUG]:BC)1FH%M0[KK$-#[9LY5Q@YP+[N;AZB?AZ
MM7H^!PYEHA@8@O2B&1CBIGTB>J.!@6Y0X]8\_B?H2&,0U^0[#-$K((5Q2%=C
MWKOP@'K>I,:G[FXG#* USOEC>^6@H30$4 R&;G-J<[%>V]41#],:R<71$2ZO
MXMJHPMEY94(!YE5?%!F3RMHUT4)@\(]+HH$;,]@542L+#12YYU&4;TA<"_:+
M39XSC-H$8O>3)N*J?40//DV NCOIM46'+;3--O8%VYY;L,K$OL:\1!2H)S.<
M\L),Q9*0$GK5\TV/J]E"(:A-ML;)?N*(9H=EHSX5(MB1\0ODY/%1(S$[M(8N
MP*)4%'S=K/OT)F9X?$[*)1B-&4%;@G.(DJ^^:C0&WIN4T39*F1"?HY2RS9*'
M*+C:P\]48[6]>40NR:R\W-4-DU6G4WS:T(,A&=7UM@6P: ]7HZN1(T]$'W6I
M)LE\WO2S4P7B;R]P 9?$\ ^<24RBP&G4_FUK[KG-(<WC!(Q!NP]V*D0( ?_0
M !^V"+N5U:(NEL"C:UF(\^[X%LE3QJ[?@]%\E24[ FM2A<P<\R%M7VJH/!&C
M%W-G_N9V%J"*U G%T7#DJ'%U\TD[G TC!N+NR]Z^Y0YG8%):#U[9:^01[;-'
M_+#Y 4_(6?V43*$<@&UMCIJFLU4/GRHPKRZ\/J2<U^8;53BW?6H,ZH$XVZ+/
MRR1:'IC4A_GB\ OWR:7<NN>5-^ .@@<GP(]UR@U:,UV+B":C(F=Q7I/^-7GC
ME#?18'>;'B_X"T]<@4OE;WP6]W-1/)JM_ 4[ F05:51>,0T\[!C:N4>N 1OX
M.@93/RF*#?=GP9D8IFZ<$KFI"0U';NMWU 0?/J!7.]]'7?$]9JC#X ]7<-S"
MD@TV]@,6+6]QO/5$B"F\8>H[E8_LRV#J0,'$<+(Z(X.0ECM:$MZEXGK78N*I
M[CP1YM10X1YJ0$#_16[5;QI47AE:UC; G<,.]J@N'I2(W5;'=CQ7$-!-G?QU
M UEI@%OGW4+GLZ9E%]O&=,U->Z"(0U6L3^NJMF(G6:D6K?SQ3;0D\2:%GBBM
M:D9GTZYA@YARFA8PYRQ88</[ \MU5<U.7*XXU&R=J!WB>^/I79SY8>.H.T:@
MUF <[?<,.;=W?-?,RB"=U;ZRPVYC6W2VCR4)PIOJQ*?&% T@57>J0A7FHBE/
MU5X?+$F[P?B4H3M,)JC"97S"4W%16L6F#J5#"TP],>E&.#JOU"W2&<6MP:01
M3\?E8QA[MX_ _0)P'$;(E,'M<'SV/&W'$*E']6Z* ."0/LH^ZLKMD7:2A19&
M[7'4>B_9%4V>HJLO7I?"UA+U:T)';^S6;L>H.^JTWS=D0F4XX4(PQ^32TU\6
M.IC6(<]9$?VJ?M(>/F_OK!7C!CIM0X8 ]].X^\1M(YPWAH(>FB63R,\\+8-1
M.F%6296EW[B"KX+4'FF:0A;_O"3YGPC.K]E[$LZS-[ ABPY'P#4OL\7XD<M3
M2%DC&$ '86"+2T7=T=_GECCM/=^MA*J\8L[&TJ'#*:#S.B G%,/VDYN:T##4
M05[T.@;[GK=SD!?^7']'!WD17G/LI['\()<1;MP'.4C:Z6=J\P@_&M+GX5V!
M]A7],P1'D_ @OS0QB!]B//G#ZU%@CAEUJ.K22NE OK-':*!U/_]4"*R57&>2
M=ZQXSH[&=KU#=\!1#H#A=FE3$%%[;00>,QFEI0ZS3O*]@A.&(6#53#P9U/LI
M \#'?\X EGY/&C.ZF)TUOWUE9\T!PUHY;4ZI[4T8W!*&()'X]:N,H>+R)%G0
M]'7##:X*QM=65L7'9-.ZFZMQ+N[1G7I=%2O,W;HVR]&AM/6V&3]E6 @*:!,P
M*V^J=*_N@@QJ+QENO.[!?6VW;BQ,-IFU>0TIYM! 8C3Y?8K<1,U(.7X=]YHM
MEFT5MSFF;PT78(]>P04DO>JW9E0Q4V]_][K4VP-FM:'=GM)Z',KMIRQ.B@A*
M$9#XZB5BCXK"!"::;M]8+M1>&<Q1Z, RY*PKQ!:H,.0(!]Q0LEIORD;US-,@
MU$G@2*]AS*NJ0*NM1=C[7YV+7Q<WOIZCH7?WNR&CH;N)VW>_.P+N><@31L0U
M3FL348&+I.]8X*:3L?6YZIGD,ZJKS>S*=Z ((@?G*?U<-0DZXC-#9<[F!(U5
M6#D2(6<UY)#:P=TY;N F16O)/$@&^8:12(@><KX"6]-RU%W(@#M?L796D/1K
M:QI1Q<S6_/TKLS5MAAP.BS:4%%^\P.NKEUN*L_,LGI)\!1];*S,H/FU2_E ^
MJOM$ 089 3P>W@K Q5]J51H<SV5P_\,9+:OJ@WB=P#T'+ZH;BU:'*<SS#?SZ
M+__T^^^^>_?'/3'X%]_^\6T=\XM*(,S^A:]VA/HJ1!%_!2ZDFLL11.M6"WY1
M>,."QNTY\&6O:(\D\$6%RA(U[34&O=R1E[(Z5J:?2?I,/M*L7':8??;&]J*T
M27 8I_(F0=:]$F>-2F;*W&]>@3+7Q\S&2IT2[0<J=]-\DQ3E>YS]*E?I9,^8
M*'+'8[G>;@(> H#F&MMPI ?K:8UY!%"GI!Q E2@TCLNN1FS+3:9VW3UX/,>Q
M7B=P/:3Y_6[4%SE*BV(0#=5#:>\UF>B\XRRYWH#YUG*B:-5ML@EB8&TG&ZCX
MK/\DL#WCZ*(]OD@@/$$"9710X+Q">FR%HJQR04LQ*?M+._+31N[P'CR>U]/&
M3U+Y[U_G:2-QZEJB].@XG*>ZVV7RKB$=\WD;Z #U$UX+YW>NE 'S]Y-_=/RO
MYRNS-*KC71#(/P9.G]?"^1J>'ZM4'QW_'YQ7\B3\H</YU&\\)-]#COEK877I
MD@S5;L*EF9NAVY'_.WQ KPSN(^\74EM?)XO+,EQMT=H;FT-"T@7-GDE>,/M9
M?"K!U"[*G/ND18#RMQ*FUGW=D(55P7AKAZ2(CU%O)&=S-;AD V30'IL)VN&#
M]@A-D$KJ@J/]J\V!="BI_7ESH3'E^^/>E3*_;.?#IA[6UD%][;)VZ"9[RM8\
M#'80!WW&VXNB2'D:KMRVW4Q"]2CFK^0/N#V$S[>_P4G7LZ8E?MK&=%[:!X"*
M@*9B@K)0]7PZR4FU:#2&4*9' B5HF>+5O#9X('E"8YF.,W T^^%*75!'$*#4
MA9[ED"2[E#"0[GU7>3L$#V_S!(KH#6C_;\<6Q*3$U&IA2^KK,QZ#AY]\!11I
M(%*18#:(*^/G -AH3* #K)P80@/G[<X<$H@A@1EZDV2HX-^$V>J&S*IC)W6L
MQ, (Q*>'R^[PP]8'3&(/#P9R'@[R<#DPZG @NH-##B&-@RU[MECB!#UL8G:J
M79)GDM(U#"LF]^8KAF60#(]VKJ#]M!L:,+LD;/"+G,1)>9MDI"-LMO-)H^#9
MUA&=A] "'S!N%G 1 !X02FMI"G:XF\TJ$K-*858B<^EHKD&XNX=WJ 8U_9?M
MK6*TBN/VYL<V=]_S0\OU'H_KKU0OJ2"'+= KI6M;<=YN8@U-(5TF&?Z?)2G@
M. '!?$%OR[@CB53A>:,TTHYQG2>2 FQ4 Q?'YP7]>H(8!@.22:W.R(I4[9HH
M^R_3E>\8O\THNDA*:)#*'W_SU<7_O ^3*JK":U2;W-XCPN^[ FDU&_9JCS0P
MOEL#XGC"N,<6J6VR;*W=?0W7PAO'[[H/W]Y<WS\RR9,_$^%RNF!6ZD(6GJ'Z
MFB$O]PWOFG%W\%$N@",<_V53E"#/39PS]N=CX(YI--(&-%"%QZ3VKPI4@FP[
M97:BIC0=J'3Q2K0[!T[ETX&MO'?T/.1)1!YRLDHV*X9'!$?_R?ZQ,YB)NF8,
MU/5>&X:=MI+GD0ZF+M.F<[2!X*3A2T4<1U0AR;?P*R"(%95XO4, K05*B#(\
M1>&5E!9@,ZXY==B3PI4,^@?_>4^_.<$\;0RTS3CFQ3;Y(Z)N]HX< 73HX=*!
MVEU9CY=-;$&CI"MNI^T1XXNB_5#^KH'V,,TN>8;@;"2/5!%V=AW3LN!4A2+#
M?=,_5#NBL7.>2);0_(Z6!.)2(;^BTV=M,(*A+UL#D@\?]P__JWER(8$*XK@@
MA@P"; 8YOIW.U\HYQ4@0-4A0"!)DG 1Q30+A)><XA_*-F_ HM; 00]V@>WAP
MSLG\,4K/&KD_)6,Z=WTV>(IKB^KM49W.PFS/@*R (M],;]L(/6U&\YQ^9DI<
M@3XODVB)(IRA&5/47B+P$S)-;<ZV$4;%FHG]><+^SC; 7/ N9KL+P@ +$FUR
M:$B,2[X5Z9K'$55:('1%@>>%RKBD:4SRK]'E#HN"Z7]1NHF9PCW;E CT1S8N
M2I-5 J$+)9V ?EE5P,4\YGF"]IU7=DIICNKRY1.>C2H>!2SV'9/A>_+7#7R$
M<%>:@?@(X;CMVR%4BV$\NJ\.?6K[5>QST&J\:>S$ZH7@WH]U[&?=(Q&^K[+.
M$M !=/7&C0*?[I;PK<\8<MC!6+YLF .@)D;,0*R-N\Y54=95D'@0CF]??*I$
M&V]<?$%7*YH]E6P?_01='R2,+'O,D)>/AW.O1P$\Q '^$?WFA\F[=^^JP$.$
M-^62YOPT9QK$/[_[^MV[;]$:YZ(+QA_1]]].?O?['_CA_=WO)[_][KOZQ43$
M,,(/=%,63$[%X(YB@_R_FXR@[]]-0.W_GC]P22*N%<-H\.UW$[AL8%I-F3R3
M=!N$/Z5K2E47RM]5[=[(:#7!>Y\SO68]'L_Y)6K3=E8SF5U=CDI)297IX^\L
MWEW8%5/Z2&!Z24KN2'F3,4V;W-*"?7^!B^5#3I^3F,3OMY\*N*3=1?&<PTY,
MRJ0W^,HE*%/-P %*KAF]@3,SLI@PK+"&;"[$%#S^+7SFS6(VA7#:[UMCX1W&
M?PASN+MD ^IS;4.H&B(H_GQW\O9K';(WABL@QR-[TD4*@#UI44)"YT2H$+U=
M0^BFI#<^@^@RDA?G$<P4*LEWJ@P]3QOREV14U[Q5@45[N&&5B#[B4DV*A9-5
M(H%'54X=/FU+1HE1@\BG9!SY6GV$[I)+;=0+P4\/.+_/GTKHQ,9-J@>2<P3[
M>:OOS>%\)H/@E^=VQC?GMYBF*68R;1?@$9SU>M>AG0W5B#N,)8N\;+ C^VO/
MBNR//S_"I4KK<2CY59.ECD9Q;BW#!511)A%.T4>"P2O,,^Q^N:207.WWS)-1
MD/:0Q7^:D6B V-V-M/OAH0E&!X/ZRRXZ;CQZW&DY;-91.Z7;4HXZR.=4?'S$
M+\EJLY(*D-;?#43(P3BNV:,"%D91EE.-]I+"[5(G6?=2M_UNLM3-<9POM0 6
M<*E;J49[2>%TJ1]R&F^BDNDF)'].(G+^DAR?"GV/&2Q\VW"NU[^"R6]D*K#H
M%P#LGQ,ZJ4E52>2#+XKS+*X0*(1>)6<.^;/F''(Z9A V":52]E.6:I'+O7TA
MD1\GOYG:%CXDA=2R"",M3FE'.PGBLYS<KE?G35821M*R4DSOLUUU7XF-H?>R
M>;$X!2#A;)#YKELKMT&"-VA56 A)KU95Z@Z,!;[)HAS 71+Q[TUV2=:T2+CD
M>\C)&B?Q-<VO_KI)>+V=1Y*"RV5*F8!DJU!NV6.['\_C.(%PT6.!Y0&221RR
M&XQ<,_\=7./R>%ZXPXTKC/GQNA8X\S!?4B.&<H$V7 &O*\1WP;/B"5SCKAT$
M/182FH=0)]4,T)NXFL-;%&]R$"$0X\RF -')D!@G4GVK9#>\6.1DP>;2B$T^
M70OA4S!?CP#AS(ZW*?7(.-9%XSX*((N;LEIV- \=QHY0ZP7G)4W9 "\+TLC!
MW U2 3G(?>K"..=E+D+W$K!'F.Y%:"/TB$D^H;41H;,A.DN3!1Z/_%/?KG+A
MIKE>WBR.2M).\0N1W5VT/6)H/32'<N]V$+I0PB.[4(E?@A@#K=2C*B3QF0A4
M61I)S)1+"1M(GC)/\&F.YB&9AX/CY>UYNAL7606S']=)B5.(KPJ5Q]-*5:I(
M*F],LB^U+_(L)%PB>\R038Z'<\TGMS1;G*6\SE; 5!<I$:DJ99RZ)7G0!6@*
M'PA=Y'B]!+^>Q$W9^ZR!VU(ZIFON:,(+Y;OL)RC5HI)'34/8;0^,I&73>%//
M.S49PEA340?EX0*%XS)!'!NN,>_P&556JM$"41M4=ROPR.)X(TFO[GJ?-1%X
MLC']"KQ0=W;])*5:= HO\HP%G7/Q-A*A-I*2IAKKH"+%!LHN93?E><1+9Q0/
M> MDM'EE,VAH.^Y,(Q3\7LK@"D6T%CAZOH+Q1*%1W+G43M5$U)X!DRA&;[A3
MD>95&9PD>Z80P(&6^)D@AB&<#.D6S0C)(%>2@,'W5MS:5 O&%NJ99#'-Q>7-
M@M)87.L453"(SI+N8+!98%$5IT[!Q!EBCR;E]E\+--L424:*<3@]AVUTN2/4
M F_Z+_#<Y14[?61HX68/_K VF(.*,QOA;%R.)*G )GU!YDZP-B\?W8NOZQK1
M4A>CC"#^0I]H3I)%)LJW1-MICK,"LM)I]H$I\)"8_9XP24RF^$46_Z0_@FD0
ME#HDUQNY0F57X@V5>V30@F&#WD#Z?Z#6CP8K0BV0>:!"??5"\B@IX'BZSYBZ
M<IWD!=/CLP0*_^)\>\E.K&N:IKS4'OL=_KZ??V#HE?**IM8&-5&B!P-WS<8-
M!!$5RA['$3601( 5VJ')'^)?,2V0HVI>%#4 ?0;724TRQOLKT>45-*>J^RM3
M1_%GG#-ME9S2=,YIBALTC8& \P.:QA5-%S"] +JHO9U"W2ROQS1G7H&<B[R;
MC&G(S/PINDLVJ;QBG-@L']I#Y=8=;#";:NAAZS$H$9N:4-#?M2XI[11R,A_(
M]&I8&Z"_J/30Y90&+ :U1V&/L0DE@;#16\HTQ$?N:P%9#_AWUA-5?L\X>J%G
M?.=>25[X+M]!#A3-H$IE:DPZ?Z43ZUOUVR0C-^RC+!!&_J!I\<23 7UD;55Y
M6@ 3<:"!RB?*J4G52330+N0\6?DM.6MFBY+D*]ZSO%7.:+YE8MGUC^Y<-:M*
M W.7O:@4+QHUU*YT<(JG$%<%B/$F0=KVF8M9V@AW[ILHBE)<%*+4/B[J*LH!
M;"H-)J2&-/?G*=SD60(-J'@H]0M\ZK:)^E\P]0-*!W;N]JLA<Z:K88>UAA3(
M3/5IYZ_H;74QI:$_JKQB6H2V8VCGQ63KV^N]XHC.P+$,;3WJ^&GPEO"<#?;'
M/__(V?"?O_O]".IP*RT*-:&T/WN&=V6YGS_R>W#,VP(MNLI+];]@:L%(!_9U
M0RG'P.3FS^9\#.X![W;M=O8((+7YN#+.^CF'ZI//8Z5R$2& 4\B.N,DN1#J'
M3%YW/VU<+[QU5/<EOVNP"!*(SI*L3F8)5,&[F[94DV#^ZAMODC06B7GUQYO5
M.J?/W)+LUBRUWC6M?:P"PWDEY HR/^=W?S3Q"%P966LAZ"#J^M1(-ZL-CX^Z
MA]YL%Y1A1I8D*YAV)0K6=W*G]OOFNJH:'.<B\?[B!IV799[,-F4=QO> N7LB
M*'OJKP0=3%Z/+E$:_2I: 197O!]?SU51_PO&+E+9P.Y=I7O(_UIU)0QS]:-
M7*I/,6_,=,L.F$ZA=OJ (;/L!W*>5 J'9E#YTT(TVD\)KXNNK'-U/SR &?QK
M59PQQJ-$]5"6ZI'+7R%N.!3O:+8K*2+.Q*N7-3LB97T U%XR+<S=.;CS, 3>
MQY<(8-QA9^(IL3T'XUAOT9:XJN+QIII6\18IS,S1/E'D'6I&S/#9B>^W4X9#
M2T*_P9NV\Q/W$+R4@KCE63O3@T; (3+_32BODI$H(Z?/LB):<MN5R XFK7L1
M,')SCU5NOPTGM;4$]MAD=>5F?ZP3(]5K9FB\:6IU]T-P;GX+%- .AU%5Q=!9
M CJ KMX+AHF=P<Z3^HMJDS0P!2]<'XL.'6Y@"3)=L+YJE2&!&'>Y[[ZK<#OD
M[U'42AB\BBTESX8M37A-&I2KUDHQ!F]:K_2Q@Q!0DPY14L:$]DK5/20$]7=?
MQ O!5:$K?7VWNYXUO0=J&]-7^.EYN')]W;2D6@3R%T6)DYSW3=S+TJ+OH%9Z
MQS26LFMLY^&4##CBT!L':Q%><U0C.#6BHK\L1EPLX?\@*)]Q2GBL'>/])"I)
M##\P(7KX1>-)"2=:&=,T#W((;%_NA$%(FK@</%/%V"T!#6,FHFT,V2/ E>Q\
MAY[XO5C2SUE=>ZC8)</0>:/K3)B\4RO<3YTLWNL0*\RP2#>Q,*K7M,#IAYQN
MUNP-D)LT8^;VAL15HN-I;;20*(006IJHO@H9ISDG[R+1.<U%:;6G$N>EGAR]
M4)>@N$0SLD@R7IF"R4T!\TNEY546NZ0D85\KTG",YXZIO+-U3 UB F^GVM5\
M3J+R?GY5U7-ZA%(DV0C.NO$@9G@"AI^ \R)*?(8@(W;5P'*HY2,^%U $"&1)
M$-$1GOIM B4\5@$K6Q8EF#/"Q5[[UZ4W--V/#ZAXV3:LMQL6<3L=K"1C)TFI
M+IU>A^7UP-67T[JPU:YI[D2Q.UW87L9(A+"^M)%]%?:7]JR\6PT>Z&[@Q8)"
MXW71;)1D&OZLUV<RF&]36T;#0!X(7<;MNNZ&O2_5)8NKTQ[ ;MFV%D#>(N^4
M,3(*Q7,X7T/QP87%FZH"_5NH7L]10[-MHWTZ5IRUWPIV7?S87[FNE^C^,E[V
M70LD&[+E"=/<EOU(OK94 Z3)GAF$L<G-T/WT_!;=WIR_O[F]F=Y</85)OVE9
M<:I %'^)-H<1L5" 6\*\'4^:IM2<CNB+F5M &R74V)B! 7,#( 2<5O=<[KW-
M<)4VT\$45(-./LLO\PB=GY-R>;$I2H9-ONO7_$B>2;8ACR2BBPS:Q\KL5*-!
MS$LT:P#S9B=J865DYSF>MT&IGQHE])GAA&JD)FB'U@15B"'5N;NK8FW"H=0.
M^4.;2"W5C/5,I(X!G%>V#FPBM6!DT42R,M\A)E+3,-J;2[N\H)&:2%W\:%3<
M>VR9@7V%Z%7?LYTIZ*W,?&MBW;ARZCK+RNL1,/0!(2Y?!AP0'0/8/2!:  4^
M(%HPLGA 6)FO'1]:4J,RTD.ABP?[#X5>0GO,M")0[+ 6&)FHB'605R'9G!IO
M&F=:]4)PO1TK%.KB'^(:2"1B5[7'$0Z7)Z.S!'0 7;UQXX><%@7;+/-$QG4M
M3QAR5V,D7T*] =)$:@_"V$ L<WB@M/?BZXB_VQ:;*M##HT.K*._G'Z"7,=M&
M3U4GXR>:RIU7?2\8.ZID SO/%V20>7<[WM&Y8! #.5UZ*4OUR36,DXJ\;' 1
M^VO/0>P/AL0&XH[6."^W=WC55B"H[S%-;I$-YYY']C 1  U1\J>7EE250$ZY
MXI&L&167F)W,BYSP#*ECC%HSX(W>-> ?91@!F"I$]KL9W>D@8GH-:^5]K'_.
MDY*A\EE6=T'^X(!0UL,!?6EIIY 'M40?@/^ QNA;Q.&>Q;WH.PS'E3!$6Y]T
M"97&<35I<A/I\N)Q%/>,UJ\5QW&+.+X;0^T+PG&5C86*+L+3T%<-0W\ N^5D
M6P#YN7IHHM(L4E77I@I>-L-@9?J+M?:2VU\QP&A)XDU*[N?==665BJ\-&\RT
M9* 14.=5!"NLP#T@Y_0W%6YOQU)X;> *4KO+XN\J &]7(IB?M\:8TBE^@?,%
MNADPA*]I_K3$.7G/C)486F8PQ ]:?1Y[[P<.9WII8 C6ETYEBI^)NN6!%C\*
M6F1D 1#T=+$:/1 /)7[A*EF%&J36SL@2IW.>?;M:IW1+>.=M/A-H0U, ZF<S
MP!U%RH1R=1,SE-FI[57S)C8>28F3C,17.(>J%-V])KH?-MSR[8.ZWM U5%2#
M#=MKHH>R5(]<'KF'!S->L[FTV317+U5B&-Q.LO_%;"](6<MX)&.^TX;HGBDY
M2N&*@@]9!6J1M#Y+U4:$Q 6@>E,4&VCA>S]G<GE%,]X,2AH^H?B>>9G:[O'=
MATX(!$2J1,0!HP(@LR-]3G*V>N'85)WZU)BD_LK4MK?_[&YEJ/*.:=G:KK%=
MLUVCB^M#U<6U@A^X8Z$2P?N;N@8]K1N\WLE=TN>,O>%'X[F_6^3BBD,,RS=R
M4E)E^OB,)F22/2=Q/XMT/6H>+W@RI(< 00%S#+S225.J0RA_KM>Z"JQHE@GV
M+,W ^NWHEJ7TCJDCM6MLY_7&.$RT!QJR,Y8:E:D1Z?Q5_SM$I;-U1.>SIC7R
MVL;TS49ANT)TDY5JT<I?.0F:+:8D7UV2F2P2N>T1TX(2C:&\591HP#0J*3$(
M9X.;^ZH)VJ8L2IR![1\ :Y,8:KC(Y2^&J8'1QJ54A2 >8\SJL@2UNR?)-FQ]
M]S4=WY,YS:O.[%/\0HJKES+'-&=<@//M#3MUBCM&"G 4T33EEVL]U1>=0S2.
M>G.&F;_P.6=3,(O#&Q%%3:N-S#B*=8IJ"4@&"NISOW%H@+7S&6;X3/(2.G;=
MT9(4#W@+5__R ,.NI\U#"]M&]1A4V ;>,)S0SDR,<U;S?,MS5%<0M!TJ=+"3
M1Z@FN3Q6;,O >YZ36)KLU_:(<<VV_5#^BK;M89I5;1N"LX&*S?L*@C:( #1$
M7J@@[ZQZ6\OB4Q7JA)#F'8:BY*GATMNGN7@$=J"T]F8T-F"B?KS=BVB9&=9)
M&V_\_!-9)E%*ND-XVA\RY.;#P5PS<PTMK)=>0D"J1A5OS'!9W1&(&J\$,F8+
MIO1(N*+G:4/VD(SJ2^A)P)L(O^$S.8RTG!J<[H19DC&3+BBI@A=0!&B$B\+H
M8QJJ23]_>R,I\&*1PU(P*_1^7H4K*>4':+UKNF]48+C>18=(@#99UV<<29R_
MWDK00>3U&%"YKN*'[^<*MQA]CQN'1K8/ZTMRR^";B&Y[<S%08/? 80-Q ZT$
M PT0F*!IL'N%7KZAN@0<2\AQG_S6?=U-<+$W*5[+;![%V9X]&SX_47M-U$.-
M0\OSCSA:)AG)MY N^==-LH:-U&F@*;QAR),=([MFPQUHD1A; P]KR:E0FAJ0
MSXBY"A)]O:#/W\0D$7S%/NS9B?WQYTL:;0#D?V]PS@Z1=,L$,\V/-0.%)S79
MIV-$YSIH!1;MX"(!V"N_J)"4:M#)$7]<9652;N$R+6<PN6[+8[IX19I\>T'C
MXXLJS;<,^$9A=.?A5!P%=(##!'$L$,U1A0D"5+QSE0[QJ2%%/7J<9N5-5I0Y
MWP$7U>7:.;];D[J=^E\Q]CW)A]9GN6>2SZC1?0Q7]V-#V\7N)$R]:'(< KF=
M%)B&FA#17Z%4PO0(G#)%XCQ>)5D"=;[+Y+FN)]"I'VJ]:UI<506&:P:LD. :
MXR$:^\HJ(=5'O86@@ZCK+QDMBF!?L WR0-,D2DC1TUZ@_P73-#3IP,YST':0
M40T:_5(##Y1^UD]EJD\Z?VDBR2)+YDF$L_(4M]Z*/%HOFR:.* %Q7G%GCP5J
MY<+0GAK-M:##".S8D)[F."MXDF:O)2U[=( I?3RD-UMZ#SBT,2VE*M4AE3\I
M1G@,:L_QW1U^832&J4S3@>5<M ED)JA?K0L<X&&V1-0*W1V[AI@QRONQD$M<
MXO;^(*J/#W &M0WKS0NT XX .JK !_/\=)*8ZM+-MRADO/T1Y[^2DO=^[[==
M55\;)O"DPWN2<5RT[3 8A[&J3/E3.:9(3D>BZXE$FYRQ_]5+M&2T)E!3O45D
M=3UF(*K:AG///0(FJH'RJOC>)5,G):DJ>8*D^G[$):#%#(IFS,)#GF11LL;I
M37;'[(Q'D4DT_4S29_*19N52VG+>XM 64HM-47#-MW#=GF2(9@1M"<Z#Y\D.
M7BI)?JT=^CL6D]]^-YLFY4E*6M<C \1C/91K%N- ((+JV^_>S-ZB&GPPV7A"
M0JI"%X^)+= >Z0GWY0)(GS-.;CD:SWV=)]&\BH,,7>A)1LN3OE52 @6I>JB6
M!:7PAH5*AX&RHSI0,*K;;'-&!D&GAZ4;1Y%#I<(^DE*-X\BM>B0%TVVB)3.&
M+LDS22F/_E*Q>37>-(XU[87@/LQ4H,!-WP82XS!^=9: #J"KYYHKNXI=M\ Q
M"<TZBJXIO#&HYDGKR*ZYKNI L8.-:N A"Z^I4/JD2(8"^4(S5V?Q-:5W[#*8
MGV)L'2P6LBJ;&KW[V2QHE;:F&?T>9[\JYCD=/VHAQZD>,D1^4PU[:&Z3P1R&
M=/\XS&R:,> (1\"V/#-UK5(5QD-NTPFO2/*:VHGG[SH%.H(\Y$DD*R5T^H#I
M%<EN(%^\OH=HPN%#\#4PG3@XQ.&A-TF&8IJF."_0FN2B8\W;,+<WI\M/^VGD
M+V@P*Y,X23=P-UFYP!*HY05='D@LC+C5>E-6^;9UYY('(EKA=(:(6QW;-!31
M!@[.?:2\P"9NH"HXEO,Q_U2$85Z[*TB=+DN8/.\D(T5/+:W>YVUD>C?'#9+J
MW41@<*ZWX6SL*45I584KXBB@&<US^ADX,+A:U,Y!LIQO.2&];9>?2;)8LN4X
M?R8Y7I"[#3A?[N>7L/M)S+=S<;^O+2S91(:C&&XM36CNZWEPN,&/ ]-%H)8H
M&^22147$]SYOX8+%JX@_O(<8ES3L)[;D.F(,TK")3X_CI.M1"_SDRW%RR$IC
M\C9T$EC"0Z&]#;47<-I1O+C]H:%M6:8^2A7OG;6B4E7@!BQ364'?+JKX9X;[
MN2C.EN#T@8ILBY[4/YU7AS).!PA_[,1.KQT6J$8C=&J@UBJT<9\R:;WQY+&E
M7BEV$C;L>=J0\R2C^M321^)\[*,OU21::*/QQ#YXCXLDTC,9N\>P:S"VPW+-
MB!S(6(W%'O+WFXHJ- TF[KKXL?-92Z+.,W^-5,Q)64J!7"&TMPM<+*]3^KFO
M8(/**\.UM9.AO6II !UQ\"/2SN34;M?*>D@8@L=XP]$E36.2%Z+?GSJS];\[
MG.OD,+RR7Q.-?T55/\?Q,*+"2K1SI"IY?1;R7M,"IQ]RNEG?9'#QQR0S^S82
MS:9(O.LU=4&S(HFK/R3<.G0X\W+?1F"]50 SQ,^HXIDW6AA$A]3((8[=!.WP
M0TT$T0[#"=*@AZMJ:4-YFMI>G%"!K#U'5<_3=H)7?1U')V&K@4^?/N+*(U4#
MGS!'V+S'*=PX/"T)*7EACYC[RW *FR"EQ8:MR?OMP3XINC=*5Z=TO\#M<+@C
M)#UTNVB(=IYY/Z(D M<K+]]^7I8S1.^ JQ>F +!YU(7BV2P^$+K(\7J91.<Y
MP852.Q@+(P[O,* +V6O3@1JY7;^! LVV:(\?X@B.I:F,C?5L[TXP;)'"F%1]
M6QG$9&=>T,#1;!A4ZE"#G#$ALXB&KH[,-# EN=>B,;?),XG/BX*4AJ+?;) !
MA6#4@;GF9%[9G*.#!#YC%NF&ZT3M$-^?FS9:DGB3DOOY>13E;+_=)GB6I#PF
M7HF?]0<P==@J W+NM:TP :=MA0MJ(#,6#C98&3J<W$%R(11S0"WG?X;*_;21
M]QFHEUVP4B)2-I"D+Y@'6F),196M=[_]_AWG6/A&I-O-<$%B2"\B62$2]O,<
M*N%QFWE;WPN3^$'@<?X9Y_$#R><T7X$]S?_^":<;PKZ,V -X02 +E;W1F@WG
M'[#FKO*'H.M]ZF\F.CM_S/0US;/E,T'-J:#&7-#[+6H\5DT'<?Q18T+5-WQ*
M:#\G=#]'?%;HRR)V7-5$;[EX[);=[%<NNSG29W:(^K77$R" $*3AF,&;^E7U
MY+YEA@SA1:9)41<YDFAB"F\8*F4=([N6^U40=+9 *4!'1( -HN.H$)@:4"T(
M3]7FQK;:%\7E1H6QNEZSP%UMP_LR ?KP,#$)[,^MA((">L>ZJ$$P/]I)M2X^
MJ7XAXOLPB7_*+";97_VT#;O)/F4Q^%S9<4+BJY>(%$5G>0VC,6QN/QFLH'M1
MAI2UC6EAUD/J%-PR@"B!VAA,E4NJ$V-RO'%'M$%[.;)OMZH1?*!GX-2_=AX_
M RZU2G@<Z*'YEHE-WC^ZZYU6P]N= ]JFF(LYF-E1=?=0],PM(\Q=8>62H)F(
MDT %!$J@F#<7A@H@>U]RDD70LB5FC^=TLUBR?W'U)!1-K7*8$;,6$#ZF6  [
M2X,KJ>$RC48;O<D>1=G^/Q&<7[.U-U1/I>,XTE=/X+G>RHRRO]MI<>,Y'926
M0$.?ZZ'K2/DV>38UJZ3C>.%;!L\#W_[^-?%M<PF,^?:$KN/CV_,Y4SUM,6_K
M8*XY^ "H!S;^D2L+3./("0;0KX2KV]?&A+4["#XB_M9K-#5X/&=<'JBE%*/X
M;\;.V1I=I"S1>43\W3AGII^I#;6C,8P/K8.!\\#$/XR=B24+8*ISG%!UI"S+
M@%K1E0\&\L*V - #X_[V-3'NP2(8L^XI98,P[U'!DLO*:_F(R_K:6(%QU0>Q
MP+3]P%PS;(T!JE! -0X(D$!GXW-L:RR0A*%UJ3X&9GXD$///EH'_"'TUO]5G
MYHY![#-S"S#OS+S# 7$D$&"!WH#,*MZV\+;X*4P-'<-E4V/QWK7PQN)WI(3B
M+ \Y?4YB$K_??BI(?)/M(DC.H4N[<(!WYYR;#V3(ZOH _87=X!WL/P1AW@&+
M0>U1V%_5L?F< "Y$9/Q.\0N<'8\$*,4T)1'@5EX3*.*00C[PAG':]N!A"5=;
M'-FTHMEP#'S%'UA U20J(0B%# *%=WBBJJ0% RZTND-<)PB7J$(7[? ]?FE2
MQ[*&J3!G<5]0ATOI300=M7:]QDG.XV,;M04D(D;C34,1H@#!EXA00,5$!#B9
MH<$6/VY0/$& 2A5[KCQ'1WM6A]'H -H.S4F"]D<DOF= ,U":=^H&[.ZG^^O'
MUA;%)J\:Y06I@7">[2G00#L\T%[YY$?*&\#EK6*O8I_S- M6NLEXZ@%/K&'_
M4YQ^B)P.31:D0^CM[72[AUM:2!?)R9)DQ>Z OJ5%<4US9MQF%Q 1ED7;:8ZS
M NP?=E)G,?\K%>=V_)=-4?($$\(6$\YKR8GH&)KA*>H(*^=&J4 -115NJ-RC
M@_ .GR GDNN%IIY7SZ>VR>WMGY-R61?AV5T+W%$1GBEUKVN^;:YUJD!QS?^?
M,H+SC)T5N:A?-$%W1!16%O#1FN;!*EKJK@0=2%Z/A9:/R^M*>%'^H'$)Y>,!
M?=DVIY"-N@1;P-\DW>E^>GZ+GJ;W%__UG_>WEU>/3_^*KO[[T\WT3Z$FL29Y
M0F-FY.>EWE2J.G]A\;[*-/-8E+!V5E!;N@FI.G$\U:*8'><EWZ]Y):ZK%Y)'
M20&9!T>W+1_8$.4ETZ-WMFNK\1@ OLO*%#;P="TZ&[A,T.?ZMA!7MX5S\)V(
M[!23YAJOCG9FIO'/QV1; "IG/!NG04&F\5 Q"43VLQAQU0.K^TRW^(%]!O#?
MX^(BQ451=3KHJ,S<^_S07A;'X[H6*AS>KG=%R-+'_:1M:T[132^OA24A,@&<
MOKTF9??# PI%G@ZJSSYL@\ZHKBN? 3R+=$Q$MW,P,TG:H0<K7=G!(52/9 %*
M4;;VRCK/XJHQH&9=2J/1!A>IU(+JLV)EC1A<:HNR3A,DVJI!CE#=27)T-2S-
M5K&UH.6 I0EL>/U$"E"#LACJ]$2 *X6O@AAA0W$)89"9XCRJZH&V)^?=M/.W
M"@9Q!0(Y+@M)A1XJ*7KFI4Y>@=WLC[B^;.AG^8J\0IMZL-BT95_;890045^U
MUGI'2U(\B HH_1%?76\-C_9J&SU I%<;&@.CO.S,;&"$5T&RA.8H QQ"1W1U
M,E)[-%<_#8_W47.2M^P3^[+^BOT']C3[YO\'4$L#!!0    ( '.$ U<%OTR"
MY50   L>"  5    86%O:2TR,#(S,#8S,%]P<F4N>&UL[;U;<^,XMB;Z?B+F
M/]2I\\RNREM59<?NF9!E.\<Q3LMC.ZMV[Y<*FH0D[J((-4@ZK?[U!R!ULTV
M"[R (+0BNBLM"9>%A=OZU@W_\;^>5_$/3X2E$4W^\>.[O_W\XP\D"6@8)8M_
M_/CMWIO<3Z^N?OPAS?PD]&.:D'_\F- ?_]?__!__SW_\OY[WA22$^1D)?WC<
M_/"PS).0L'.Z(C_\Y]G=]0_>#S]__/N'S[=??_CV,/WA_<_O/W@__^;]_,'S
M_N=_Q%'RU]_%?Q[]E/S B4C2XN,_?EQFV?KO/_WT_?OWOST_LOAOE"U^>O_S
MSQ]^VI7^<5M<_!IF^PK'A3_]5/ZX+_JFZ>\?BK+O/G_^_%/QZ[YH&E45Y(V^
M^^D_OU[?!TNR\KTH$1P)!"UI]/>T^/*:!GY6L+%V"#](2XA/WJZ8)[[RWKWW
M/KS[VW,:_LBY_L,/)>L8C<D=F?\@_OUV=[7OTZ><MN!O 5W])!C^\R\??OY)
ME/F)TYN1%4DR+Z$9\=Y]]&BV)$R4YA/F\>GUR/.:) 5_BRZ6C,S_\:/OT\C;
M-26H^/_T6\HV:[YNTFBUCLF//QV-8LU(RALJV';-O]B6%P3W,:*2#O*<$;Y0
MM^S<D1+3H&;<XIL_;WA7Z0.]C!(^_9$?W^^(2">/:<;\(-MU%ON/)"[;T:A5
MDAB+I439EE<R$@6#TMW*3TGPMP5]^BDD4<$G\4=!?T$[__#G19)%V89O3S]*
M7A$I^[E':J[)PH_+/B?/45I!D*1$8YKF?OI8;+0\]1:^ORX)(W&6[KXY4+C]
MXL_S* UBFN:,//!E<\;;_TLRSQHUQCL"[_T@8YB)?7U#$[H6MPV_FJZ*+3Y)
MPHMR@^\)E0Q)OP&CX]L?!_P,)%?\S]?;H;[@,/0^^(\QJ:/U12$5G<>WP80%
M/U#&Q8E__,A%$O[+G#!&PNNR#^GU65P,!2&\PT($^+M8RR3\QX\9R_=4^"QX
M<<>\;6A;XJ>US\0-$RRC.-S5GC.ZTC_8*8PUO..>V))Q*8]<&^$-8+W21@=.
M?]PQLVA4]QJMNX?'/OB:Y4\!USZ8!>_&R@+H4>_*8H#(2[3]37Y@UW_\5 D]
MNL16'SP_"#B_0H[D_,<HCK*([*</"JN4C9A!5  2$$PAF(**C9,@H#F?IEM_
M(TZ]2;FVK@]+B^_B8G\??74X'J8Y$V=)G:C?3R?CA6SC'\% H!-!V0BE"@1E
M",H0E"$H0U!F$I3U*7.9!&Z_>,1G"0>5J<=)2SV.,;UTR;FEB=UJVS$"WX!4
M(()#!(?(9$S(Y&*[K6\)NQ?[N0X2UY9'7(6X"G$5XBK$58BK$%?9@ZN %[<A
MB!32("_^*#SKBC7+Z\PI6Q4=P3$2L*&^09(6&3"4I"GT3WCWH2#A,O87%2)_
MY>\]@I"I.(88\:<T?"WHR'[NDYI2+W#)]XP?_Y-CV8LD/.>35T593=$>J3S?
MKJ*R;[Y3(QI>\N^J(%QM66-T"A[!J'Q3T@"-5X==* ,)T.)FJ:V"")"B!J@L
M5YM\"RG+&:#O_^8^XT)[O+DC:\I>@W% 20,T/C _22,Q>[5$RHJ:H))WH:+L
MZ.?>U6N3,.27=;K]1^S.=U)=FZ*L*3K%#3=C#_2[7",H+6F*QEO*19CXOZ*U
MY):N+VR*TD*JG[%;1I^B,E9&2:ND>._43OFF8'Y\Q<6[Y_]#-E(R)>7ZIX^N
M5C2YS[C<7Z" =)9G13P6AP9R8@&5^J>\%,O*$Y!W+&:X4N2 %#\94T#9W<6*
ML 5GPA=&OV=+/IUK/Y&O367IWFF]C&)RDZ\>"9,2^+:($:K8E)\I"\KDG*LL
MU3MMPFN5\65>B(+%P3<5%E2V41[JH%H&:.?2EQ]DT1/A,J*_W;4*HE7%>Z?V
MCBPBH6%)LAM_)6=M=;'>J;M?DCBNV]Q5A?JG;.7'\5F><C$LE1_9E:5ZI^W!
M?[X*A<9F'I4AMS6'3TUYI\RZ )JH4#XL:2(_LV5%>J3JG@0YXTQX]_[Q(<HJ
M4;2LB &J+IZ#I9\LB.0,417KD3H.,H4\=[]9/=*X@JS*W]TQ2JJVC_/V)9!:
MZ12L3#J,@&L,'5T>;T=+P1#7T852PQ*58 CFR'LW.**P1X%9\<$-5L L3F"N
M?'2#*T #%Y@MGUQDB\2B!F;*+VXQY:T] LR)7]WBA-*P!6;*;VXQ16&/!+/D
MLULL4=L6X6*:4Z*K3,$,9X=38JN&JAC.(4?$6 VE()PWCLBU0%,\G"^.2+8@
MXS^<*XX(MG#[/9PUCHBW4#<,.&,<D7;E7J1P5C@BXZK-+'!V."+?JNT[<&6;
M(W*MPGH#YX4C0FV]@0W.$J>D6(C/%)PU3@FQ$,<3.&N<DF,53D]PCC@EPRH<
M6> <<4IT!;@4PCGCB.QZ4>./!6>((Q+LA::SL:%0Q3)]I1>2-&#16K3MT;GW
M^&I[0S-QUK5C)ADGC(I6V5R^^DD^YS<F%[62Q:4?;%/U7"6W+/A**GS%-&OI
MN$*-(.&,A,1_YEQ$G:TS2F(29(PF4?! @F5"8[K@6^4Z"^6\U*U[,D[Q ^;'
M25EVE">$?SI0QC_\6>C5">-G:K81L*2"O+IBO=/XU7^.5OFJ<MU)?^^?JBA1
M4U7U>^]4W0E\*9G$-[^9H4;*H8I?^Z>(K'/&47A*)@M&BE/T]=JN/#0:U36:
MZ6<G_I\?+MI)$I[Y:93.YK='=WE=PJ7F#8TW%];X1S!0-B].T9JF?LQQ5K[F
M4E,0YT)N%H12?ILE.0EG9;)[FJ32W=51:T9'7J;NW\MB9WXLGE3CZ(ID?+M,
MPK#P<?#CPYRE9QNM 58<X\-TCAG6,,,:9EC##&L8 =/=X*L%<EHC&;LP:B66
MI*U$[;&S9Z#KG78L@;DR#?6I_X:0P^">%79SU_PB;Z3P=87=\L4,4_"-G0^0
MJZ>%%AMN/+.3/;!E(E$ANK VI,*80I$[]DE7CUNN5@>/VU*7')/IC2UUO<'T
MQBW3&[=5DYMT)GCOI=$B*6)%1,;@\L$;+OYX:QI'@?[SGN#VC#@7:%*#3\:<
MN$D<C4PC,S+='[;W9+^[;[>;N\Z<J5<931UHZD!3!YHZT-0Q3K1EJ8(!T59+
MM-7D%C>)L#YXC#R1)"?\WX!R6H\?80&B*F4;1I 4@ )$3XB>$#V-"3W=E5OZ
MDA^_4YH4E/P19<MIGF9T15@=?M*MC@@*$10B*$10B* 002&"L@=!-;O'36*H
MCUY,_%3;&/6ZFA&D5-UI*W!T3=*4D*WW4K*8)&%Y.9+KHB>9G-:HKF.QK(CE
MQH6$QC^"@;#<*Y])D8*KN+3 D4)5-6P8@3(L#%3'+(XC<2RRBY"$G[AQX:ZZ
MBI(BU;[(V'/QO"8)/W<K0U];M8'H&M$UHFM$UXBNNU\5D*M2'ONANI5<X9!V
M0(Q<W'!%'Z&Y:%I<^JYPS(02RU)_>U1B-51BM5!RF-1@??("/UV6_R'_RJ,G
M/Q8RE^<GH<=[S5@49"0L?M=4<C5HV8@>K#%=K51E7W)?O&E&R#E9TS3*TDO*
M2D5F>IZ+:#YYCC+-JJ>@* O*MS5*A+7]< !7VR_^G-Z\(O/M#ZBR&SR?VSU9
MB$7RA= %\]?+*/!C:3ZKVK+]4[M;U,<T2+*7U98UFVW+3_[BN'42!&2=B3M(
MJ>JI*6V4\BD_BOG5*?ZY.!S8%?>P9"S:]<>KY!W_" 9S.=K=_-6KI?I;A1:[
M?8,C&+_R".FB250>H_(8E<>H/$;E<7>#AXFF5$OB'CM/.KRU:1\WH"O\K5<C
M=B4WN:)[[G9%@F"=*ZQ3)P8"HO.Q,P-\VLN48ZY8,+K92,TULJ[PT80Q;+1)
MF- 8IO3H;JB),VD0^Y47>^*?*--/,E19UXA12]$SAK^>N/T%==$CTT5?;;?R
M!F[B@%1!72KJ4E&7BKI4U*6.$Q19JF! 4-02%,'O;I,XZ#=OS>B:L&SCK>,B
M2VD2%OYR:U%&$QC!&C."E'1(0>B$T FATYB@T^UV;]^*K3U)PHO=QH9#J29-
M(+1":(70"J$50BN$5@BM[(%6S>]RDU#K,R^6^<DBXI/K^6E*LM1+B"[&JFG%
M"+@"T8"H"E$5HJHQH:JK_::>%'M:QRX%KHD8"C$48BC$4(BA$$,AAK('0VE?
MX2:AT[N?O;D?,>_)CW/BT;DWW]T+O#X?4U[<#)I(2J]1(\"J"4F(LQ!G(<X:
M$\ZZY%O\=['#CQZ0KT-8H#I&1W%-DP67?%?GY#%[X!TK@N1510>E69G<55W8
M<%;7)**L.'9K,K=*RB'J1M2-J!M1-Z+N[E>%\G:C>O>)*SRIA^'U,H$K*@GH
M^JBYO%UA!V9912554R65!@HRJIYZ5_R;>FM_XQ<V\23TXNVV]T*^[W554^ &
MS:BE-,EII9*:7CW<4)8M'UD4+LB4K]LHN[Z>RA.G@BITD"YUNN1B\7\M2;KT
MDX7(L#&EUUFHH M0O@.ROL3TT8\?2+!,:$P7FZLD4"29K2O< 4'7U$_N29 S
M<88GX3Z+PF3!2+&HY.1I5G4L!ZZ$Q/O;<[%ZY%RK+-!%QV(F2#A[(BR)%LML
M.]QD<<='>S^[O%.0I%>U V(?EH3?/5_+[7_I!U',UY"<0$#Q;HCBD[,]DOA-
MKJ1'41+5Z%:IT5^N&H7B4UYP0'J52D]54;.*?BY5P!V0:DH;I_QJ;ZU3K YY
MP0'IO?%7:K5X7?'QFH/&/X*!#%KBPIK-P:=B7?'!:;\6Z(6IC4/ :H:S.S_1
M^(E+60 I2*L.FH_,FX\ZI_-WGT6B<R&"*W:GK-A@M"KWH;P@FN;0-/>:'6B:
MVW'D-$QS"@F;ZDJTKO!$(7=1'1SH"C^D]QV%WS*N\*)6,J=-)6!7.%1ONJO#
M-:[8<6&K1 ->N,(8@.\#" "[P@_(H:)KR#L=3X Z):$KJT0MJC6W#H+Y,_ID
MY&K@[LHZ48EKS4V/KIPGX+-683,&\^*CW;PXX6C(&O"OXPKBRLX W"\0&[PK
MUPE<* -[,;G"&MA*@7F/@'GRR6Z>H,=J0X]5D&."45_5]UY $RX<947VIK1P
M.B_=.W=$09U4ZULRXYT*I:.=6ZJ_OG@6"(0CCP?"5N)/A>]G;>DN'%(/HRYB
M"R0^,J"RI^%*R<_M3[>$!;SY(X8<!5Z<Y_Q@?_]1Z:?7H(4N2&=YE&9J1U!9
M&70?M,I]$!W$1NI>-?X1H(/823N(8<X&=&,S[,8V+I2'KE;H:H6N5NAJA9DA
MT,7(7ETKYLYXK8UOK)-QA5'H=-30OJ76F;EB_40_(PWK'E1Y[XK!TX2CQ&A]
M1="^66G?U# J&;5N?O+2)1_CH\^9Y/'B:Y*D14>ZQLW:ALS8-H%DM#)M7CQS
MX2E*Q<J?)?=D%?E)DOOQF9]&U>E&-6MU8/UZT1F7]RXCEF:3)(GX^DM]MCGG
M7+ND<4R_1\F"_RX^S^9?A'\H< 1M&CT-X^GO),TX(PI6/2PC%AZQ2LYD>"VT
M4O9OI4Q9=J0+YI\.E/$/?W[UGZ-5OJJ<3>GO_5,5)6JJJG[OG:H[/UE4&5 J
M?S-#C91#%;\:M2U,OOLLK#$X5989R-+*D>/157M'8GZLAE.:9NF]N(W/Q&U\
MZV^*D[8V-4TWK8[7YCS^$0QD-;_@HB7=$'*?<5IF:[%HE*D\:LL;I?Z6L#EE
M*RZ8D&)YJS/7UY0VG$:%3WL4\,U9</);$F7IW?VWFC0J@#IF[;G[,^7XU)DP
M)NZ"XHPYV[PY=XI#^' 2)Z%X4K76XZ?/KM!F[T+JF1($J++.O"TQ!(7J7#-5
M9=#W 7T?WNC2T??A2('LKN]#-=2C-9AK[*-6 S9J4BQPA955MQ\%73RN<*#>
M */0#[ABFZS=44"$YPH_ #D/9&*C*RR0G Q]V"]<\74 LPQ@M'*%)_*=I%!7
MCWT/*<4SA=' E4FOO4Y 2K>Q<T.]"N0&+5>\>U3'H:YQUA6>U.X,#76N*SQ!
M+S#T FN<Y:)+&Z=1?[%?1#FZ(E[F/^MGP*BN;<8S3-5W*W<PFUR1T,]G7);R
M\8]@(%O_5;&7'_QG^)M'D"IH/<6(9[3ZH=4/K7[C!$R6:M80,+4$3/"[VR@:
M^M5;$+I@_GH9!;Q*H1QL$CQ3UXX9A 2C K$28B7$2F/"2O=D(3;+'5E35OA%
M@"&31DU$3HB<$#DA<D+DA,@)D9,]R$G["C<*H'X3J<@%683?!OKV)$EU,W!)
MV7DKE'1-TW2Z;WLS>XRC14'S)67W?DS221)^2P4<EL>1-VW#L=A\!'F]"[=3
MNEI%63E323@]WA-PI-&LD?%"P?&/8*C4V"_.-;X\SC8W?K;UI-@?=\I$S;H-
M##B^+6DU.9QK:R X1W".X!S!.8+S[E=%@_N$-CB\76$7)%MOLPO:%55'LP75
M >ASA8$FU&66!F^@NJRENJP-#C6J.?OLI?EC2OZ5BZ_(DR!85WNF:,*,!JV6
M@'8O$%X]W%"6+1]9%"[(]IG:ZZGB$4)(!=2/H7X,]48CU!OADVI6/*F&VJ&>
MZ-S?I!?B(E4FWU.6'9+JFI2G-:6'IER=\Z^N_)#4UR9EK2V/FE#4A*(F],0U
MH?A46=V^J;G J/9]X0QGZM7"^!Y7Y>-+<*6%*[P!*#<A@J(S[&A\J+B8OLBD
M$6"T&6K0"*#VF86A'4/Z_C1:)-$\"GS^MQ\$-"]L$MZ:QI$P2^S_@*O_=5OL
MVQK0C)Y6QH&CSAN3<:R=[Z(]U-M;I;>?[*?L=CM1-4KO^@I&Z;\AWX\H8C3A
M?P:E$J.@;U/^MT[UT[09HV-]14/-1-64'A_E0P66HBY_?#)1=]<5:CYEFD_@
M-AV[>(U:3PS.1*!YS(DZR8+J2XNNL 8P7MJ5U&G2$^^#QX3K6D[XOP'E5ZCH
MP\O$3M#UR(,T9<0S#TY(YR <W'\=^M8<",)N2V#W>93ZBP4CI>/Z;'Y73F!Q
MM0#>CH771:CD@-L3:%E8,/\-Z(2!^G$) QV<UH@Z9:A3O7S&+D<BV$2PB6#S
MF!.2:XVVDH=,0J>/7DS\E*3-T)*DMA& I.R[7>X?DJ:$S-:$^<4S1$E8.J&2
M:]'A=>0_%KY 7T5$*/]7*5=TUV '44_26U_"2Q"^4\X#0CI+(%VQTL2C-B I
MN*8TPC:$;3;3>7JP378((U)#I(9(#9$:(K5ZI 82>EQ9&')V=(U83*+93U[@
MI\OR/^1?>?3DQ\)<Z?E)Z+']^ZCE[XT ;_,.C&#BMN3U8TIL3A4(@+8=-&)4
M2S#J?; D81Z+H"L^5R+W#__GXC"C("30K!%$M(AH;:;S]!!MBU,=02^"7@2]
M"'H1]-:#WC;BDDED]XM'?)9P*)IZG&>IQY&IERXY YKA.&AS1E";'C']8#0H
M#2!$IC<@Q%_6X:\))R2,XCR+GL@]"82.)R+IQ7,0YWSE7?(S9DI7ZSS;^C1<
M;&?[EK![,<UPC-9U1P/QZS5=9WX:!?PP/1=#(Z$F<&W4&B)81+ VTWEZ"!9\
M"R)>1;R*>!7Q*N)5';S:0DIR9>'HL*L?2=ND"N!77DSD@J(L:NJOK&K""-2O
M)Z ?>*_J%P3IZPE'&&\=C+_:3MEFFC.VNU_@.!16'8$G D^;Z3P]X*D\JQ%L
M(MA$L(E@$\&F#GK2$85,8J+?O#6C:\*RC;>.BZQQ25BXRZR+,HU DE:;1E!3
M XKZ@5%:A(!P58.A(="R!&C=;F?N5DS<) DO=M-6)Z#"*R*X0G!E,YVG!Z[T
M#FQ$6XBV$&TAVD*T58^V=*4BDSCK,R^6^<DBXH/P_#0E6>HEI"' @C5F!%GI
MD-(/I()1 ,)2.H-!$&4)B#KH6"ZC),K(=?1$PJO]/$Z*:=0T7&FW-,B(J8K.
MRSS+&9FL*,NB?Q=;_>)Y39(4EH2UCRX0BB(4M9G.TX.BP/L.,2AB4,2@B$$1
M@^I8_!K*D*XL&CBKNI<Q30+[=^^*?U-O[6_\XAY-0B^FR8)?6BLO)(\-,;YV
MNT;@?D.J^D'^VL2 E  -AXCZ .OT >=\KC2!O[S*0&/8)DB+2#J;7_-%^, 7
M88-QZ36#2!V1NLUTGAY2U[^4$+0C:$?0CJ =0;L.:*^3B5Q9'3H\:2([&D7@
M[[V )D^$984>FW<34;:]+IM!;W"#9C"W)CD]@6TP%3"4K3DHA->6P.OI8=;
M.!14Q^@HKA(NGI(TNTKX]B.3)-Q]L=4NGD>I.()S!C.7MVT. 3<";IOI/$'
M#;^?$&DCTD:DC4@;D78]JM20!%U9'O5,Z49Z- JY/WA^$'"&A5Z\?<JG<4HE
M4%MF@#:<DIXP-H0 &+R&#P61M27(^BC56CEUUX>9TS3W0AM W(FXTV8Z3Q!W
M@@YNA)P(.1%R(N1$R*F5P59+*C**ISYZ-%L2)DIS"%BFA"C!7T-0!6[0#++2
M)*<G> 6F H:Q- >%0,LZH#43\W=#$[I[I[A4P32)E&W6& (P!& VTWF"  Q^
MJB,*0Q2&* Q1&*(P'1367$PRBL@^E4]M/?JI>"2:K@1U14<- 1FT/3-X3(^:
MGN 8E @8&M,;$H(QZ\#8!5_R=$/(/6%/44!V;S*1<'HTF9.XH*MX8NB.!'21
M1/\FX2UA$>7ETBS5>"6SG_X&XEXU^7?[A^[O,T[CMR3*TLEWGX63((N>^+QK
M8MQ.>[&*4P7EL[7X,^V4.?"&S?*CDEB^L.>4K?QDNQ_*:?R6//$9)IJ+IO,.
M4%F"RA*;Z3Q!90E8Z$)=">I*4%>"NA+4E>CH2KJ1*%U90P#.]21S@CGX?O0<
M[!/J@=GXP1TV]JIE,*H1_=5;$+I@_GH9!;Q*L:5:*$2!S9G1AVH1TY,Z%$@#
M3!NJ-2!4AEJB#!7I-8HTF&7RR[/-E_TD3ACQ86$ S1HQ.LX[\D22G(A'XR_X
M9F*)'T_S-*,K#M*:#;J#%E&]A.HEF^D\0?42]!9#[1)JEU"[A-HEU"[50]/.
M)"57%D\]R]I(U$8ANA>2-&!1H1KTZ-Q[S%.^W-.4?Y_Y49QZ&2<R]V-=K*[;
MKAG0WHRJ5NC];-O%>224AY%XF^"6L$ ,:2&4/?_*^3F[2]^07CP'2S]9D/W"
M.\;N#9N"28' X7SUDWSN!R*_8[*X](-M6-15<LN"KV3U2%@5Y?!:'9!XPZ?Z
M@5Y&B9\$D1_OS_'S<HX?7D[Q,9EZ-3L@]<7T\2GELBH);QD-" E3<=X>3?5L
MOIO_*M*;M=3ITOAGSM?;;)U1$I,@8S2)@@<2+!,:T\5F2J^S4+Y =.NB%JI_
M+53*LB-<RC\=*.,?_IS27!PU_+;,-C?^BE205U>L=QJ_^L_1*E]5KCOI[_U3
M%25JJJI^[YVJ.W%92";QS6]FJ)%RJ.+7_BDBZYSQ*S4EDP4CQ;WP>FU7'AJ-
MZAK5+)U'Z9JF?OR%T7Q]E01Q'O)K6N20HOQ8X9)_."L][VDRI4D:A=L/$AU4
MT^::74;=CCY5TYM*9[FCU@RGM!5A%'LIY\R/2X,W(>(M[$D81H)*/SYD$^-
M1FN %<?),)VCIMZ\IGY<ZI F &!P)3+J3'L??+7X0VOD$!=&K93<:2O!9NSL
M&>@2HQW+&:Y,0[TR?PAIPQ5MM_E%WDAGZ J[Y8L9IDX9.Q\@5T\+G:$KCKGJ
M92)1V+BP-J3"F$)M-O9)5X];KL1TQ7W:A,/"Q[&R8'B'!6M]F;I21?9W;EK'
MN@ZMB?V=NG9RK2/[O$G_CP\>*YU[^+]%$$FQ^MOY?FBU:<3OHP%%K7P^;/1
M0"NXB8<.,\81ZQ]1MMPYR.U2!V\D:G5EG8$L8DJ:MLZ AYBS)@-[T\A (T5+
MS0BU?FBI04O-T&#14OT(@L468%'K*CXA1-C-C6X2U7ST8N*GI*T3>UTS1K +
MC B$*PA76KI_76_S2<!]MJIJV# "I8,>J([9$'ZQOT7.#@G%^]^' DDDYLTM
MOI"$,#\N3+ZK*(G23.A*GW9IF--*9]U6;2 41"B(4!"A8&>N*Y47EMQ+2'4W
MN,(A;=<I^:7O"GC67#0MKC97.&9"XV*I9P9J7%IH%*22K4EEP2<O\--E^1_R
MKSQZ\F/^6UH\X\3VN0O+W]OI$SKHR8C*H3,Z6VDEON0^\Y.,D'.RIFF4I9>4
ME6JG]#P7GJ#R:&+-JH[&G%<J+0+A6<DV)<+8?CB B^T7?TYO7I'Z]@=4Y@P>
M@7U/%F*E'%*+^+$T K6V;/_4[E;V,0V2>./:LD:A]IF?_,6OT$D0D'4F?-^5
MJHZ:TF8M^81ET9PS+R/I;+X]#2?9U&=LPV76W_TXEZD.(%4'4D@=,@I/^17$
M)6[QS\7AHH(-4+,52\<JH5VNPVW?X C&K]R@732)JDE43:)J$E63S4(YZL4;
MJB6UC9TG'=Y-M(]SWA7^UBNINI(.7-%L=KLB0=# %=:I Q2!"&_LS "?]C(%
MBROZ\6XV4G/MGBM\-&%J&6TP*)I:I*:6EMJ.4W1W;:  ,VFW^I47>^*?*(M:
M>[J"VC)B>]*@!'U>T4RB[S%:+J[-]=7EC)^)A#V1[:-I2Y\M9,JJNFH#*8?W
M9/W!HHR<T^]RI]?7!3'@#E69J,I$5>98,(FE^!XQ20L)6_=6/4$04G]QFX0<
MOWEK1M<<%VV\=>SS;X5'F/ 06Q=EVF&09HT; 25M2$.4@BA%5^HL'HVZ6JW]
MB!49=8O34"8I5Q<>*ID^X?N.+SC5\P!'10;#364.IEL_"J?^.LK\6)')1%(:
M$10B*$10B* 002&"&@H>J.[2DT1+H)NZ/UNPM9R!"8DFL>1G7BSSDT7$=[OG
M%Z^D>@EI"R(U6S6"'AO1A+ 18:,V;%Q1ED7_+A;M;'ZU7W3E&\0R^*BL-!#(
MX0LPRDCQ@/)KBNZ(F/,H61P37FH-WTF&V+ U!'@(\!#@(<!#@(< ;S"Y7>MV
M/D'(U]'=;A+YO/O9FW,<YCT5'H1T[LUW-P:OGW)VBJ)M/?K:=6($%W5!(L(D
MA$D-TML_"=]>?E"<DT=9UL57I89+Q7],Q27?+X7C\=%;>S#ZJVH.-*9KFBSX
M?;(29#WPCA7!ZJJB@]*L3#&J+FPX=V<242:.J[K\G))R"'T1^B+T1>C;7(Y7
MGN%4[]1TA2?U6+C^YG-%+P!='S57E"OLP%R:J"EJ^#J'KKQ_@NJB&E1G5 WT
MKO@W]=;^QB],PTGHQ=O#T L%=2U50(T[,*/^:4E>*]7/].KAAK)L^<BB<$&F
M?%U'V?7U5)Y2%%2A@T2BTR67H?]K25+Q-JC(%U+QD/D+N@#E.R!+;):KO5+N
MS$^C])XO!C^<);_[+!+S=\=G]RM-LF6\^9;Z"W)-TO2!4_7IY\,CJ%4CZ*CI
M9LH,6>[9F#[Z\>$U^:LD4&2;K2O< 4'7U$_N29 S<?$GX3X%QF3!2+&GY.1I
M5G4T&:Z$U/O;<[%IY-RK+-!%QV)&2#CCMU$2+9;9=LS)0JSU^]GEG8(DO:H=
M$/NP)/PV_EJ>>I=^4+SX)2<04+P;HOCD;$]B?N<KZ5&41.V\5=IYL=L.";+2
MBV>^VC-I;(:D]%#:>C]=3FD<\WW(_/B2LC/*&/U.PNWY&\FU]?4UAQK3BUVL
MT-7+"PY(KU)/KRIJ.&KJ6 12\%A><$!ZI2*;S!\/6GVP&+9C\F[\E=K:4U=\
M0-H?.)("42T*6L'M;TF>DK \_+A$,_77?'?RTV0ETN.!AJ)L82B+)Q<Z9O/R
MN)'9#(^*6$ EX+RO*SXX[=="/<#4EEI@M<''\M5_CE;YZLVRUAB7K(G!$ML_
MT?A)T%&/*K3JH,7:O,6Z<SJ/Y0#%&20K-ABMRM-&7A"] = ;X#2\ 10(ANK*
MU*[P1"%#41VTZ@H_I*<ZA9^EKO"B5LJF3:595SA4[RU0AU%<<1V!K1(-(=H5
MQ@#<K4!@UA5^0 X57:OWZ3@?U2EA75DE:E&MN6T9S)_1OT.@AJ>NK!.5N-;<
M8.W*>0(^:Q6>!F!>?+2;%R<<!5T#_G4<B5S9&8#[!>*YX<IU A?*P"Y_KK &
MME)@/D=@GGRRFR?H)-\H7UZ=U?L$?>*K#AZHL;"_N\@Z=O7IK-S?06T=&]LZ
M ?4G"UO+JFN%;TA_UYFU[ #Z?((Y\XLSG&GA"07FUJ_.<*N!SZUE\6%IL"1A
M'A?)<Z"Q5"7WEB03K]#N^=)=2%EW--D2A=;UB#!PS6#@VJ@"IP:+1K(RP.>P
M4X?<L\?CMH,B#%CJ/V I9=F1ZQ__=*!,/.F^A<>5.T3Z>_]418F:JJK?>Z?J
MCI_O53Z<E;^9H4;*H8I?,=@*@ZTL"K;:/7%1F$[%)11*H^N;-S#@^+[Z62%P
MG7/*0..IJF )_<5I<I%(\])KU+1I1'S5L*SAF%[6Q; ^#,W"T*SZ)C P"P.S
MF@5FC<NEVR:0C4%)[@<E54-06H,%QSYJ#,7"4"P,/\+8DJ'=&'N(+;&<-QBJ
M-GRHFN5.T1A^9$WXD>4K!7S0=A%88KF#N'S7**Q,8]\H2O2BL/6-?0.HQRVW
MO+JRV.$25O>!(I8NB4$#13#H#F-E1H=6WXZS842(6W=J&W]KN&7=E>.V"9=
M)F%7KNI.&/36#\"YJZDA>V1<,>"<_]X+#D_)>&GQ-M76Y-3RU1;]ELTXRC>E
MJYV[N[^^>!8PG\-[$:XI_E3XE->6[OPIE*,'A<H_4_'(-(L"<LO(*LI7.H^?
M:#36Z7,G(WJP@XOOG[9<..+6T=MPYSF7[]]_5#JO-VBA"])9'J69VL%?5@9]
MOOOW^=;T)3OLT.TR$B_0[Z%G$62G<I*#5!\P);N2O/LEO]K3JS3-B=*Y$=Z(
M%<GGQ^8+++\N8-Z9BOI6S,<1?0^\@W1)XY!_EXIXW^B)/# _Y$#TW-^DVN.M
M:\_:\1\D@-G\/J/!7\5\/;!HL9!ZY[5LU5I>'$U8XY$?M6'%."_]@&B\=G$H
M;@7UO48G6#'"<?F-OR3FCH1DM<[VF.)HT_,ON "_]N-R,8F27(Z7O;K5MMG!
M9K+4A)1PA=]Y:99^8325GQZ2\OA RVE' 2A>+']-?^TS[@/1K.:ZLK!1NF\9
M#0@)TTM&5Z\>;Y80KZ@QV%,W:W\C3LIT-A>L?=BR5C( 6?&!J"]P6G&R2^@]
M%!B*0HSU4-@ ++5(XD,Q&).!T0F:GC\J:8+JW=_.\ 0C%-I'*-1*J:[X==3M
MH-86(E<8A6$M#9TNU18\YSQ_,$RAWN44ZI;@G-=3CQZG8_%LLM#CU-J$K%#3
M1G]'QTA8HV,EZ>_&L999&AK _HY<:[D#52_V=Q1;RYIV/BO]14N,EV$21R8P
MJUS-S:[A>@/FU?@SLW?K$@MFW&^C9UR]*0;,C,_.,*-CMR>XU.FJ1*[I/P5G
MF*MR>@N'0SCSW)';NW8K@O/0'>D>[+-D-%KJDY>*F^G1YQSR>/$U2=*BH[;!
M4MH-FXF5:DA6JU"IBV>^0Z)4Z)MFR3V7C?PDX3T4+VO) T[@M3J(@'G1V<.2
M7$8LS29)$@FYSF=%3-\EC>,BP)C_+C[/YE]$4A?@"-HT>EJ!5/?[!3H]6I\3
MQD3(J>CY;%,4.1-%;DN-P>2[SX30-*=L)4Z7XO/O?IR_.)V+&I4^S.8Z[C0\
M[G>29GSM%*OK81FQ\&AUR=<EO!8&=_4?W(4/>G1&%3[H 7?UF\1%1R0\'&G'
MI][%L_A3Y@((JSR0TV5Q!-=X/U>6,4KE!9?SZ(:0>\*>.(BH9N2-@&DIYW-!
M;_I ,S\^_ET(T?Q^_B?A2".@BR3Z=V%PB6AX2=GV*U%.%H5FEHB!UD-O@SRT
M5%::94O"Q(.ZLP(<RM;>8/0XQW^A&!N*UT=]#\W7 RG*IQ!JRYL-GSC(S*7M
M2DE[36G#01-IQJ(@VRZ";_QT2^_NO]4\0P&H8SYXXLU6 ("=$N&4$*(\YF6W
M2Y==#!EBHAI"JAQ#(6$DX6WL)[7AF7UV99YG !C]J)KVNVBQS-+:&-U>^AIR
MK349"Q>W(U84+C=+U[QZW3X&4PT93-4YG=M=H$!+%26&H%!Y?%:6P: T#$IS
M.RCMM!\*JE;CO'8[Z56H<H6556<\!1VOKG"@WC->H35T)6BD=D<!M0BN\*-^
M44B%(U=8(#D9^C!QNQ*$!F89P*_!%9[@2RBOQ^SP2RC@ZP2DV!T[-T[]71C5
M<:CKC.(*3VIWAH;)P!6>8'@NAN<V#B[IR=!T@B&]O1D*3C#BUXB!Z@1CA0=Q
M[#BAP./A'*)/,%BYF3OE"88J6^,Z=T*ASW;XBAH-"OM%E*,KXF7^<_MGLV"M
MF0G_TJ&E5<R7C?%&&*'2OT_J?$X"$4%\52RS!_]99 (2&SL1F>G*TS&[)/QL
M+*<VYT1M7A1^-;(.6T:_)4P"C?XVZ&\S%E6EI38M5%6VD:*[O\:,BL:_>@M"
M%\Q?+Z. 5RE0?A?I$G3;-2,N-Z,*!6<4G'6%KIM<F/5F\SNRIBSSBZS>B\)!
M42* R2N@F(MB+HJY*.:BF(MB[E!B+OQV,BJ]_N9Q.5M85 D_Z=IK=H'-F9%5
MM8AI):)>TS2=[OO:S![C:%&,X9*R>S\FZ20)OZ4"KLAS$#5MHX.D2:^ZON7<
MXQ_\>/:X)0% []M*G>9U0A!PDB#@Y2+CF_AL<^-G.1/ONQS6GO)13]T&!AS?
M9A($C"_&K>, ;$RO*PWUX.U+HDHFU[Q<6EL#X1K"-81K"-?:/"*G??[3!D>4
M*^R"O#_8[$)U!?PV6U =2/BN,-"$ L72J"=4H#10H#0#FR<8I* '"XQJF3Y[
M:?Z8DG_EXBOR5-#34M.DT:09;9,V0:TT3M.KAQO*LN4CB\(%*=\ZO;Z>RM5+
MH JHJ$%%34/X7_/F[FOL#WJ0>$#:JYX:!XQ!_D*YL52<AQ<#Q1LM$MI?%T,+
MN5,)[.[W-]&%N(B4B5B598>DNB9A>4WIH2E79S:M*X\*.E30G8B"KDX2H$UO
M7%<X5'?04>USQ1G.U&LK07*F*ZHUR%[2!8.N\ :@<X,(%,ZPH_&AXF(Z*I.Z
MZ=%F'$+=M%3U6@>G#2E; \IEH:1\QS)):1R%(H6"]^C'(N^$ERX)R5(OR%DQ
MZG69D29/_)P?_[Q<R8TER:+ C_?CK%?(]M)MWTK;'HF&*791*6GD1;?O8CHO
M*4<(^6,VS^-)$(@<*^D="4CTI%#CZ%4V.JXI7:UH4KZ"[K,9*PZI?4J9(@^%
M9% :-8<:49GT<I)G2\I$,HSZD<AJ##N"JS3-X=2_+#TLY;,\X^=D(MX[AY)?
M4045R1!Z9_.]5NR6ID6FE\ECFC$_D*GN=:JZH!P?N6H",DNH[SP=?2?&CUD-
M,0?BA!)=-I%$G5LK2@Z!A4'G%%50ML"D?>>46'JKIDH(![-D+&FT]5@B%>Q-
M^@]^YL4X$8N('W.>GZ9",Y.0S)OGPO':\U>49=&_2S]0LDT-NG6]@VNQNNK)
MB+=A9W2V<D(\$-4]><>>@7WV@WZ$5JGL.%B*,G(=/9'P:C^UDV)F)T>SN4T
M?,.7[QV-8_&4TG<2/Y&O-,F6,NS?2=L#><KIT;ZE>S+/"/LG\=DEK]<)4U0-
MV\^//EBQ:W-,ZZ*@F>8RC\!6;8Z-#P^<@,X71-'HZ#CQG7;.A^_4/B[<$)EJ
M55W)^X"J;50#:WB]]BJVHLX8=<:H,[9"9VRM6U(O@.<$(VN[E'_ZTT [R+XJ
M,;H_';5[#*P"9/TIM!WD7P6P!_-/^S4N&PT"7:N'P-S3?Z)+O*PTLM57@2J-
MYF5X5_R;>FM_XQ=8) F]F"8+/GTKCC@>,V\E<MM$F4B?2>>UI9L97?HFPTS^
M!R.#:)FEM&Q?>*A_W=-R[+M^R_A8H[4?%SL8IEWOH^D.\E!(P7??$P4R7)E9
M+6C5LL2J);;'PW9[2#1BQT4&2^%Y(*%F$U\E>J:W+IM&[2MJ7]MH7WL_>U$U
MBZI95,U:H9JU$5)W?Q<ZMY(J^=<?T#A!G:Q*W#2I@OCHQ<1/^?7Z\LHMOO3B
MR'\422R.'N_05"TT;=Z(RJ =<?UX;C:E"81ZVPT8T:PE:+8,:"/78MJNM[.V
MD;O4R,L.3_4N.^YYKO !4U8;R"NHCBQ=@-ZZ/<M&K^<!VZ(Q.\?=U9!'-%JE
M/VNS=NP=;8W7:L.&+!ZORC>U43/#C_5;$D9I$<5)PHOG@*3"HLH_Z0Q4UH:7
M_#:,"IE30,AL39@O\M#K7K;0Z@-=NE#RBHL"=A)WT:25/(!>1:W;&\'HY5=3
MZ_;L'[WJJFK?X C&+[VZVC9GY=@U[8+=M&H/)S0O]49M#76Y2\B4#*VF-%IQ
MT8K;QHK;6)>(UEFTSJ)U%JVS,L-8EQ*)<XM(R;J.=,BGE:.I&Q!P6HF;VNG\
M3BNC4U<0^^3"7EKIT/L+<[&16QUIL<!,^]4%IK6T2H&9]9L+S.I(2PQFVF<7
MF-;2R@L77D]*\*^WQ, 9=R)B?X=AH>_T73!MC0MM:NR$\TH_ MY67NEZ8<%Y
M!!?R/Y<\2LA"9-&UD4O=6!/@O(.+^O;SKIU[!9QG3@C\(-L.G"?NRO,RCO3O
M6/\K+R:>ZZ-,&$&._V[F20]NSXCKO"8U_?C*@XD .<=K#@F]X2WQAK_:SM1&
MY/E(ER3\0FDH,GO,YG=\P;,G(C,V:]0<9D3R3)G'109RQMN3<.=__\IW$HO\
M6(_MM16'&<\?E/UUE=PR*N0-K0'5UT2O"_2Z:.-U ;^DT,T"W2S0S0+=+"1H
M2?<2=FZ=P+@#O=%/RV="6W#NSSW"6HVI2D(WJ8?XS5LSNB8LVWCKV.??BOPY
MY%]YM"[**']LIJGHL$<CNHS.Z6VE[9C2U3KGY_'%KH])$M[3>?:=K\NO9/5(
M7H>R:-;J(+7?[98CMW[1S[Y/OM+/R)PR,J5)RG=?(&:G.#T73*AN$[ZED]<O
M,G?88I]9"SM<)"!M5.>+$O55ENBK)D&0K_)8V&'."3_'@J@XQ?C?,2ENPR0\
MSNR[WQKQJ[TAP<==-3]4D,M9SB]>8:Q.PMV?5RN^W)^*S9%6'H&-ZAH=5?7Y
MI1P,I(K9(.J<)9%X((6S]S)Z%G^I1U!?P6S<&#\EP4M)7=@XW;6T#DC?5Y\+
MRPEAF^/C0TDPH(;1$4@/P;/- Z>CXC)I4-..$7UA--4>S(M*=HQ#;AJ!5+%C
M#&*%5,I.#6JB8<&\8:%S.G\GRRB(:V[5ZD*G8@#I$A>AB>1T3"0Z%S5M<0*[
MPJ]Z>XJVZ..*":'A4H(@"E?," U9U "_NQ)XV9!C8"3E2M!E0SY!51&N1%EJ
MLJF1#<&5&,N&2THEA[L22=F0-7#5I2M1E"UD@E9LL5Q4,N&89+DHA(Y)>GX3
M.DK('K:)_8%2O1GXG-MQE6SLW-_ %032<GN^T:Z;='("/"F6!DL2YORG(9]1
M;4&$$5<H$T-HY1UUYB=_\0.0K#,1ZY=>/). 0Y:0+\19GO'!)$)G,,T9>^L@
MH5W?>]?$""!SZ[IZN.&'\O*11>&"3/D1$&77UU.%1Q>D0A>$+:/$_Z\E29=^
MLA#LF=+KK-K>#"[? 5G7U$_N^>0P(1PFX9?<9_S (63"#V(B-3 WJ=H!L?>W
MYX(3<I(J"W30\<.2\%/^:[DZ+OV@B'F5DP$HWJ</7;^G"\BMSL0!AYYVEGC:
MO5SG"B\.><$!Z55Z!JB*&J59O%]W5<C*A<90SF-YP0'IG?J,;83!094C7%6E
MF8S0\2AN_)7:CZ2NN&':2PBTS=<PI6F6RKUY)*6]Y/,@Q ML-)N##Y:ZXH/3
M?BU$<:9</-!J9L>B^:#[0._5')%0#4H4)0=;XD>DW- D --]*#S0J7A'GFC\
M) !<O3RL50>=ZS!JOXW36L^H _W83L>/32%&4UV!SQ6>*.0KJ@.97.%'K=1)
MFTIWKG"HWB@+D]Q=L=-#5HRN5MH5WM2OE5-9); 314.B=L[B+%TB==HO5Y:(
M6CQI;IYQ9:6 #UJ%Q<@5AP/XI0,V.;JR3 #;"&S+<V6YF/ EM-SYW69?PB?"
M'OGH;?28TS'@].Y2^$"8K5R"65KZ.V.MS>6E,B7T<+R.9,% ;!;]G;P6GS<P
MHTA_H486LJ:U\YU1;](/GA\$G$_ABX>,J[YKZ"G:N ,S7J MR6OEX3DI>[GB
MD) /26(V!93LP)%MV\'U8;R3\$DLW7#W\HV"+$"M7GWM&L\AS(^NY1)!'SE+
M?.2VJ_6"'RAT0\@92<@\RE*UMP*LTA#C.-IUH"&\+3^0J\A;>BXIF]+5*DI3
M?J3SRW)-DE2$+S_XS]*7"!JV,L1(;QF=DX(J/[XDP.FJJ33$..[]V&?0Y28I
M;)3N6;8D3'>[P"J93JL5YD'V!X?S?L)/4$&<'T]CGZ^/>41"]8 T:Z,'D /I
MM8HS[[9TJU&O#D7)D_%9:B[AH3_2Z?@CX=,C5FOE;0PAALA"SJT-"$= >,H5
M$R>,,[47L7/63;GZ%*+O<L[26<L.L)ZM/WV[3:SI1!, 9I7EF;VT6 72+8 Y
M8WEB+W"R#WV0#&:1Y2F]@"]Q:RA&P)SY[(SE'*QF-63?"V@2BG,O%'^E-(Y"
M86(_8-]4Q-\$?KKTYC']GGIYXN=AQ(O +7RMN^C;QM<1@:VL?%=)P,1#[>>D
M_/<JX2M%^./LA+T[4F2X>J"[A$/'N88F(:='W&)5-JN.F^[ 2/>6HG.RIBF7
M\'G/MXRL_2CDM_.>AB['WF5/O;!BQOOE*[I(^KMU/;H6O^R.C ULG+7->._-
M#.,N6BRSV?P;EZW2]$U8NV;M3HF^X]-?"L:S^2WCIT2T]N-TEEQO@PN%NPKG
MWHV(/MQNE2KJ&S33Q5M2:/[M0R4^"?\[3[-B-A_H'>$70A#%Y(9D?(W2%;FF
M*?]^RN\"?D \1?RT/]OPM1D>[[<@BYY*^/689LP/I":P'KLRR[.C[(JS>7G8
M",<EX3 I&SN@BME4,YS/XO_BL'_R8S$I=X3S- KX=2!^X#OXY1=')?F$Q;GP
MU3J/4GZ[^/$71O,UK\$_\VGE4\5%ONVLO;VHAB#!^XA<-L#E3^/C\BUA$0W?
MWLC;@5\\!R+HA-QQ,>EB/B?2T\TL$0,YJ1SGFWV59E;"%D -HR,HV3>;'[-T
MEEBP3^TAS.A\'(OJ>V%2XET)JC/4LZ5?N%0I1)A94G([*J_Z0HI/WTE&HJXT
MU%!J ;1D-+7UFJ&9'L?#I5#"=TN3(1VJ6C5-I8%(R-/'EC.=T:E;L&.$1^I$
MW:$=5;5F.4[Y82S0S!]1MIQRC,1YSV3JCX:M6#/6J^2)'].4Z4S=41U[-ENA
MWSB< O#1O*YHSY *6\96/U_>0>!!O:UJV; .2H2".I')_W 2W)"L1GG14:L#
M<V*K 59YD*LK#3>II<_#+2=$GBM44LHPI>59M;F^NIQQT9RP)U+"N^G29POY
M50RK9G0LG(=5^KB]^NJ@CY.,"M[ 0( 63F#-^="\(1O&*U9?FK68T8H&[)K1
M"@*;S2B@(1O&6Z$SUQMG10-VS:B^ :)Y0Z;'>["(R(?RMHQ9*FDB7 0.VV%G
M=A5OM@IOD+K)T*UO-K9HJTVZI(POEX"0,+UD=%7(?#N+NF1@D*I#B5$[VO9F
M?R[4";BXI,5;NYSD>RYMD#,N]X7B-5"2I"KE;M/FAA[^ YT$_\HCQH7;S$\6
M$4=A2KA36\^: 4E?YX*.#/Y:G+DHO_T>$ODC% G?544'H_DJ37.AK9[-A?,M
M3>XS&OP%&("RWF"CN8X2DNYRM@%&45E^,.KO_9@(GQ7-/:+?@ND1/D7";9F?
MM^<T?\SF>;S34LN'5%O%<.;^@T]1S2ZO*CK4X71,"V1K2,L/-0"MZUYRF0^C
M61YMC#2?<B[W7@K/VAH1&5(%X[RKZ,S7Z[B@P8]WG+M*YI2M2C^$&K;KU38Z
MLF\)(WX<_9N$!],Q/\-)M$A*Y7NP.2<L>N*4/A4*Z/(U6RZ72P;;O$'@D37R
M0%;5UL,P=PQSQS!W#'.7A#ZU53>ZPJT6?* @C:=S&TRYK/IWHW=EX?7**=H$
M3;NR4DUQ5L\J[DIF#%/<!?MFNY)CPQ1CX=$^/:3K>)D\W&Q,N"D&:_I-]Y?Y
M(S.?F]T4CV':OAXRA9S" NY0[>+*K0>3?COUP^Q!T!UR\7;%&R6[ ?$//4BY
MSK.UUBF\AVWN/%.5GLL]"+7.,U05B.&8*&N$GX"H":=DUPZ9VC*12G\9[L;-
MUOJ+7Q++V5]B/(<96A.0Z$HF/9/LK M=[3$'GZ/K5"NN%"[[:QL/QLW?KM*6
MP1FL;4,8((ED#PNX>3R+*VKN5N9I<'R38\J3%NPX-@4V]Z=WQ3;8$2.;.ET[
MIB?I=EEJQ20YIB#I:8/7A@+UH!<9[K[NAHG-@XC[8^:(KFAP4/EI7-$0=NP$
M\"YRUSI^40/9J1GM=1K7LB;OX.% KD"3[M=<=:"G8\:([I>;-'*N!WO#^#FG
MEW'2,9^8CO9L5[D"^C,TC/TH!(2,]V=1L >,:'*P>8ZJ_DP)8UR)MB4P[M,2
M,=:U/FR2\AY-%^N"-HZJ679R\]+R*03XK&@[D):S<I&,4F 9\N&$_IQ^;%1S
M-0JX[T&W-0R+- ?_PE2O2'?:GX.3C4NH838Y5Q:1_O#E'@D=/);GC(:T0[9V
M_P[?@<O#OYA)#U=97R]FJKJPXL7,>@)A+V:^2!*#K][5T=3HQ2B:<J3ZA=)0
M[,=[PIZB@*3W]' 0O$J34U_!["M&/DOX&20@6:$UJ\EH5%=\4-K/_#0*@(2_
M*#LHU>=1G!_M[QJZ7Y4V^S 12?BY%(L [W 5)9&8>A%5N'T 7C("8"VS(V$T
M3<4K[=+\>D<E!DI6?8@3%1K9:0GU^%(X8+TRDO/(3?GBF?.6"T1<LF";0JP0
M<H=PNJ5Q+"2-K9@O&7.//0[*P[W@7_\RAZKT )1S'F^WR1G?1?+5*BD]]!L;
MZH/A5:GAB!4RN9CPDHNUFT1=W.X$[T,EWJ<)W7E-E\2HEX:TO&WTUZ>FA]4S
M.IJ] _N6&-G*>5-N(.Z_H:.&Z[7EAZ&^=J=6E!R*X\*=5W?3PBH9SJJ<$I\%
M0L%^3IY(3 LMB'H8H#J&1_%$DISLA++7$507SUL+@7 ;YO\+Y3E:6[1D-NTN
M*:1'/@5???87.=K+DH'55\"4T@ZD8_Z#B%AL$DZ>^!&S(#?YZI&PV7P+B@N
MG,[R+,W\1"QCR4 :MF+#2-\0I])Y-&K#RE%NIT:8/&.:YHQ W@7JMG'W,E/7
MP5U,2HU)J3$I-2:EEAC*6\N2SBT<);N@=I\>PEN&\S6$L4:A:W<E6@7&"*#B
MPI5SIGZXM!$L=^5@T>(/% 'W=[Y8S!PM&V1_9\X )[ 6FVH5OOT%38^&-7+=
M;'_,L?&NTC1MN')GP8?]ZO&!>IMA#]?6H,%^S3BEM@F[<GLU8HZ.@<6I2ZP1
MM\ V9*<NM8:[SICC3P_Q*",\Y&#>.OT%7HQE82I]5TXKM GF>>N*F%4[6@5G
M*LQ9KF@$VK"ETG/XM&*[^K (NK+C.N9- ZX[O&^-,Q?FRV!3W!=O@/>^Y.6B
M)R*:Y+>^%XMKOZ\P,(T>K8@*TZ87@\2L"1([FKE2H.62[6PN=]13U!C*!5K7
MU7P0*LMG4-XR[]6+: _,3U)^HI;/51:?XF(/[]Y0F[ H%>=QSOA_RW0E-3-F
ML&=T9830.YN7$\#97#$M-;YC#5MQP6ESG.)KTPE#)S=T<D,G-W1RD^?-EDDT
MSBT))2.,BS<GZ >G(?0;0NX)S8CWT8M%XIFT * TV<'1XDN/;&UJ(<G\*-X/
MJQZB-VZZ;RS>DC 8Z'[+F2+9SX&*#NC92H+=-]PCGD?M@CX..$XI#8N\!]08
M? 3;+,^S9/]^F<9@Y)4'&]>;9-^ X;Q-$/YN\'&\4C@762CS)!.Y6OEU'I!$
M!JF;-6++..^(.'.XS%+\^$#8ZIW^.!6-&!UGT;T(2) ,8?_[T '_!2$U4>>J
ML@-27;/-U84'I+OQ_F[:C#UCA>_QILV8U0\N*<M$]W7;75X0-<VH?U4CW![0
M!:ID426+*EE4R=8%2<H%/N>6AI(A8#3O2O $\"V &JG&J0@)&$NDN.ZT0M?:
M2>^GY7;>1IMQ6L[%[? OF%>6OT77>E5UQRGMA^=LY!1$3P3FB.6OQS47=^KT
M_7"!4%M$YJOVD;/%QNM>RY1@TJ+\R1./H93_(8>GKCP_"3VV?PBK_#W-5RN?
M;0H':'"E9M9HTV09L60/,ZA^K."FQP*RH _#8+2^6V)]W[[?]^K5ODDV]1G;
M\'O[=S_.9<IAK;K&1]7XR4+%:!NW.9 E\@V!C>:Y82MH?4'K2QOKB_&;"2TW
M:+E!RPU:;F3^S?J7GW-+1<F@5G+"*3K,=RE1FE2 _.*1;7:.,H![39B7BEA]
M;\U_YL>F'\<;+Q1!_"+6FV.EG!7/C'ND2*O,+V#!K[($_Y"0[$5 ^*&]9IJ0
MP>@SHA(9>'3]Z$8&&Q1(23(PRU%;8HFV9,*[W\WR_7Z2+[9S7&:?6ZWS<I_/
MYF_R':V$:4@"]CIM>TQ<.=M4-U"Q#@SV: $';_P5J=R?NM4,9PM)G@C+(HXI
MSLEC=J#K*Q')?63:-5@MLT\=\VN<;@BYSVCPUVPMUI)R#+7E!]+]%?1\2R(N
M7MY_4XX 5 ?U>JC7:Z/7&TZ80@7?Z2CX3(@(M.E5[ J3ZU6(QB0U5U1MAM<M
M4&9QQ??:,'<UY*G^_+F=YK 6;G#EC#!AO+)\(Z/Q2L_6T(-VR:3%X=U[D5IV
MM],Y)D@BRHJ?4B\-EB3,^;>%\;\T,'E/PL)4IIV55&MF6NB?$",V!%/#:&4L
M>%B23UL?^J-C_K[H]$;T>9X37NMCI4JC10LZ"@-=.T?_C <9-$S-/UHN++%<
M'"W_8N'?^AN%@DI2>B O1B'8725<DL[% K[T [4AI:ZXV5PU-%EDA*T$40^\
M8X510U5T4)J5-@AU8=05F]<5=T[GM\1?47X:_)N$Q=Y*TUP$YJ@3&ZDKO7DL
MRGVUMX$K%_7;IZ/?5MX65.]\=H4G]4J!^CO6%1U1W?IHC8]<810JTU"9IJE,
M@R&,'C;(D&^%PEBC*?:=HM<W#%O;J%V-=J_BMDN;WE5W5FE*8<2B/K0G]G:J
M]83-)>HV+=%M3LH;9VNZ*M.&<  M,H5)'8@!50;4<2JTA/*" ]*[2V0CLAY=
MS.<D$&;&[4'C+V0JHD9M##C*6G_LNN)&:7^52U'0)B&[HN1 FOX*2DH3-=^;
MQUL6/A!E==1.HR>S"95NK3R!BMO34=PJ+G"IB@']B.O$'E>TD>K5@4I;5-JB
MTK:9WJV9<.C<AE'R" Z+3U!Q"X!)KCCQ-S&#:.%WH]KMCQX5S[_N@@1%*K"=
M("[]H:%FNX.NS&BU.R.TE4;["^7B2R+(NL\?TRC<E,_&5BEU:XKVJJ/N@%DP
M_71GLX*Z:4MTT_('IG=/2I^1.2]S](#T*Q5+@Q:,CG!'Q2PYC](U3:-2>)BD
M*<E2V0MTZDH#O1-:/!)^0Q.Z2UHOJ$P%F43Z#B*@RK!C*(_)FD<HE94&T@6C
MOG2$D,S _8:ZTM/1E6*65E3SZ+X:TE1<<F[!5+()CJ6<TY,JEPU<D.M/QV/Q
M6SQZ\CJ81=KO\5FK'-03H0VIOP*:A*+[4/R5TC@*A=NP]^C'PB?72Y>$SYX7
M%$=E)O)F133T\L3/PXB7@^N^NNFG;\57EU2VTGJ=^<E?DR @ZTQTG%X\DT D
M,ILDX2S/.+V),$F4%]AKEYW&]3O0CQU[*_.^C@-,%,3":Z'FRBK-%5]A(J9A
M-W?54PPK/ C==R0@T9.@YH9(%JA.%=-CX+=9N'L.,")I[0#4Y4U3GZ_R6)RN
MQ;4H,LLPLN1G;_1$RGM1R!*<Q[.Y7._9L!6S(PW#0A(2[Q)&X54R]=<1%U!D
M(U*7-DMY(;G)""U^'$CO5W9>L]Z/R]A Y^0QS1B'F1!Z7Y?%]]XZR&ZR6M&D
MR+&G'("DF.E,+,7T_Q%ERVF>9OP<8_MW7]7+7J>J/6/BJ"AH/JRWM8?,9EX[
M/XK"0]$M1&[QO+E>WI^J6M[[86RH1P\! W<*I,I@8[@3+X;/YM]24MP+@"%(
M:I@> <?!UUSXXJ(+!YD+L4K*B^U&-0A )<,Q)B&9'\C:'3ZY'Q=<ELE$T&J&
MQ_+$%S1E&_D,'!<9:/\>P1()D4<E!I+FCBC@(DXA(BQI'!*6"E'G\""[G/#*
M:L./1GU.OBUH#<4U(G5]!:/T%]=DH=_R$QW5 [B>62^2G19;Y\Z%5;)A'+42
M*;C>@*.!21&@.N8]E+8B0.T\J,H:I?J6D;4?A5M[CE"U'TA3;PN-FD.,Z,%_
MEE[+544,TRCL:=GF-O;Y^9Z$XE)=%P%QT@4/J3+0.TRNO\%^)SRU$A+NDH<?
M:7#/N>P<1+(Y@U=$#T0(O?O0'3^^W=KJ:Z0IG:HN>%7V0"<0,5B#$=X24KM&
MZBJXX\?::%^@9RIZIJ)G*GJFRH)KZXV KC!$/=3C9(CZPJPKVP?,HU:BORM>
MO&!NP7UY7 G6!K-&4]?8HQ<OER -NSF#F:2REX Y\LF1%2-7 (%9\8M;K("K
M\< <^G4$3O#PXU?EF05FR6_.+!JH,A+,FL^.L$;/G@X7^ER1C#4,-W#FN"(2
M@WUCX*QQ1?[5\;B!<\<5$1A@4(0S90S1:YH7=^,;V_*3!::A@?J4N**F 8RW
M EFK8GQ<62\PSK2,QG-%-Z.]C""Q2JYH9_28H^_AWY^6QF8^Z?B:N:*UT>,0
MW />%56.QIFM&Y3<GR['1A8='4:UX2S]J70&$);UV%/O.^V*4J?#.ZP]ZG)*
MIM9T-.Y1TS. 3:;Q:02)3>M1\S.FDZGQD60YYH !>JC+FBN 'C#>%SM*%0[M
M"I37XPDH1X,[FTB+-6T2<K@"Y_58INO8WJ/+Q1")TW185>\7W1^.MYXYNF&F
M!U;U_[S"!X^1)Y+DA/\;T$52')_[[QXWWLK_;\J\-:-A'G">\,H+RC8-7UCH
MJ#<CCRQT2FNKC'/3R</O\E>!W_[:0;:X<S_SIT2\"2+O6%:F@^XO'Q[^M[SC
MM[]VT.7AK9/9_*Z<Y*J^%<4Z(.*!Q'RMK11/0%<5Z//UC(YVP?$8^NX+,Q'V
MGXDP9=E1E!+_=*",?Q">4V**9NR>L*<H(!7DU14S16-Q)9?=IY43"RIK.JY6
M4',@IA#H*P\-G2J&HTV+77W)Q:HJC>/A;3>1PIG+<O),@RU:PGA4?!%#+?";
MN; P]-#]T,/:^XYJ735C9T=]&"),0!B[GA.R+)0P;^S:3# #U'!S[!I*,!L4
M"'#LSD1@'L@4 &/W%8(P0%^B'_L1:3)HW])#$H/VFUF06V-#Y_9.);M@FDV3
M9HE?/+(UNGF<,ZEXS\5+EWR8'J^ZSLL^/3KW'OTT"HH7!\,H%I[;7D*RW4.$
MKZHVLUF8(,6(0</<0%I9.Z1HVP3](#VU.4:B$MN2YW1V+@#\D+P7TW4F9E:B
M$U.6'93J\W(5 NE^5=IL0EZ2'7Q2)/16ED&5K@/I^/X@(BJ8A),GPK@\<I,+
M4#.;;Q=DL3C3H_ LR4 :MF+#2-\0ISIO&K5Q*BIZ(W<UZN_=U]^;U$*,!4RB
M%@*DA5 (*LXM"24C6MQ4SFGPFC *)KJ,W12BQRH VAJ[7:0=0RIAG$E=WF=>
M;)?*QO/+1"5"MBKS1\4BUTU%B6;*ND[Z,J*-ZY#2?M1MG1 (TJ=UR I4F%FB
M,%,DLCH*HYFL*,NB?Q<;2H)N]1ORDM]L&_+9YJOP!)O&?.U63%J+%FP9X1<F
M5]1!J]DRE@.G;_P5J=SW+5NQ9:2C>OKQEF_TA/-5Z>=<509UP@[HA!^8'Y*5
MS_Y2+P!9L5/1=W8C2Z%"\W04FDV$#EC&TOH;T!4>UFM$&XMVKF@(6RXSQ<7N
MBFJP)8?4-Y\KRPB=0-'\HJD0U8.?/6R4SR5O$KXXLVW9\; (JF1Q;G<U99@B
M3WO_NO9WOWH+0A?,7R^C@%>94[;R7T0E'G_WN#DNS<A"?-E,\=Y]QT:T\'V1
MW8]*OGMJ0?KYOIC40CU>Y#)GFU)QL/UPT!ELO_AS>O-JG&]_,$3)PQ\22@X_
M&*+DV[V$DL,/:$H9/('&/5F(_?=EOY'\6)J<HK9L_]3NSHMC&B0Y/VK+8AH*
MU$]C&@H=G6\/]S,J@-U7 ,-.8ZIUR8R=)["T%, [;.PZ-_ "D8F08]<):#/@
MM30_=E=,;0:\!E9CWP*H=D:U<T,588>Y!WK5&P8T"<6CR*'X*Z5Q% I=[T'&
M3$5T5'J4M-@C9=;B//'Y (Y<B^M5A=WUU;=VL&M*80K!UF@)D.5=Z3ZC7=\H
M%I2D]U>/"%+'\"C^FY\!Q2)ZH!+R"L_]1S\53RNOQ)OEQ7J^$VLLY8MKF_+G
MEK"(AG>'W(,O'H)XPP@SW1KEY=$C&,I5("UG-AZ_."($:VG"YT'I6:HLB['X
M;ZA4/6IQ21F)%DGY]DZP>6 ^7]E!(70D8?$I+D60_18Y(W->1Z[MZ[DWP^F$
MMZ)6_392%36LMWWY-(>2:G5AL]I,8.Z"-^6\CR.C]].PVN)7QZ<JZ@)4!W7T
M$'IG\_J7461#@-1UP?+0 YV<;5=IFI/P/&=\[Y7R6;DE;\CWXB?Y"M*I;,^X
M[@A?&5&0;:^BR7>?A<7;5?SVG9,HRUFS(>NT:P,W"M&[X217U[5F5-U/L7:S
MYGGQXOA3C>[E"U(#20<M* ;)!R/7#X*NM!,QM390(]?+8\XQ13EDJ@/$G+.\
M0%E3H^IQSAP#Y8N&(G3L9LOF/&JF_G8NP0R47Q#-"I@YEB;E;\P<@ ;7N4/:
M0MOPND1WF<\R&T-O:C5]_:T1VSE3"W.<N\OK^=&=WL*Y2[X)\QIJ!)R[\)6\
M,VLY=DY>:+ZI);HY,(=^<9A#*N4EF$&_NL @([9H,$M_<X&E763L_=Q,'+M(
MK(P0KS7PPL74AA*\K8RI56T;C?_^5*:H+V[B(L7][BJ6?M\PWKMU1V;BNSLB
MLZ=X[M;4P>*W.V("1@1;DEQU$A<=;3.!G[V6NB^>Q9]2/U"MRH:].5-A,_-C
MHG;HDI8S2NT7DA#FQUR0FH2K*(F$72_CTM>6@\H1:-4U.JI2[CG<?:)7<8'+
M_:< -6P8@=+;%E3'L(=C2KCDL.1+Y)P\D9BN"]TS8&UIU#3K+4#B6,2[).%7
MG_U%,OXW9#C0:NBAAU'TK:+HVTM))^+*<=)1\SJW'FUTP;C"H7JC(%AR<,5.
MJKEH:N1<5\Q?FES1EF]<L71I\DE/<'+%I*7)I 9 S)7#"',:6.VW8J-=I(GN
MR*CZ6YH)JWCHP'SRTV;=#ISZM W1IA.?-J.U9=K3-@S"I*>8]/1431R8]-2*
MI*<W- D*AY"LS%@N40?*BJ&B%16MK12M7=^KJ'9U7^V*R4HQ62DF*\5DI9BL
M%!5[J-CKWN%9*>M;XL&Z)JR0#). E*DWO3R)LM03#NU/PO&V<U=6W1Z']FEM
M1F\KG5UUX,^$,3]9%$2?;0Y%;OV-^*J(L"J=I:^2E*_\(K:HB&-X6/K);"V:
M2">+!2N>3+OBIW64I%%0Q'Q,Q>CB^)!@]5B9-SPU.FC3%I9>/!,61*DE+'U#
MS1A9^H6WG%G"T%>T6,W.WTDJ7AI,0F%+$B&9#U1\]0>)%DOQPQ-A_J(<T3D?
MZ*4?L:JDMY93.>04\*N>%J-X,TK)J#IE;>/>.V!9$]<_W1NU;4!&LQL<S1:V
M1&:(-?[ >U3XRU>6,9OQ][#(RK@^==)?=6GS^6C?^!V\/7?.M(_THUA_W<O&
M3N(<F9=B@.E54D9]&^=\=?=.\M:^9=^0/D=FAXM*3X5,9-_$P$D;,F\YSHIT
M5@;*SM[;T$OP8.])UI"^<<P.7W>S:DPG4RR9Z-)+?G.'C>N(%<U(O5]Z[=0A
M5AYE,+G)55&G!KH>V]TX$JY:>K>ELK$=] %)>!O[R8V_(LI@]3Z[,L\SDYIP
MX$,V Y$TY'F LS#TRT6FAUR*I+9,P$MJT,4878Q[RN6@;6!![V+WO8O5IIG7
M:1![%;U<866]!Y["#N:*)V;M>@+9UESA!OJE6NV7:OMS  -H9/K;>:XRNT?3
M47]GP!@FPQ*=Q-B#1&S9!BJ_ E=2\=C%8TVC&W@21OT,A44.R6"&PU^U^%PR
M/"E(L#-[O$D#*)C#3CR+8:DQ'SP)HWY(PZK($3#+X4]VG.C)(O<(@".EL>BM
M!CI<FKOZPJ=@+'HBBXX629P?G.<-0:FMK]X,X,@!Y[4V]G23USTZC,+G0ANC
MVC\7EC@FP.?@A"%JRWA#.(]'_=;B*,)EX7/A#GX=V@7'DLP?;/]"[Y'/AB\&
MVV?VCR:]#IT!I#G-F 4$LX!@%A#, F(#.S$+"&8!L2D+2)-;M6TFD.8W.68#
MP6P@&E3>[1=:\9;U-^$.?7?_K>Z-R?HZ=L5?8680Q^8%,X-8YSJ#F4$P!P5F
M!AGUK%@:/8V90<9XDF%F$,P,,A966I7#8F1WXTBX:NG=AIE!AL^&8'E."LP,
M8@%)F!ED>&HP,PAF!NDI,T@C@PMF!\'L()@=!+.#]+*>-*QLKO $<X1@CI"6
M/K.8(\1R9F..$ >\Q3%'".8(<8['F"/$FH!;S!&".4+L92WF"!GKN8(Y0C!'
MB.7<Q1PAXSQ:,$<(Y@@9&Z\Q1XA;JAC,$6(\&A%SA-@33(LY0LP[XUB2(Z3<
MPCVF ZGI8.C,'R#RADGRL5U36^@MK)IF(_E;]#]DC/Y;M/=R,_;!H]K.+&"(
M%=DA6M+BO>^0H4V\W6J.B[;9"T"G$28JL"1106/X^/9D[2?*HZZ?L7+KU3FQ
M4T[?LBCH/!2Q6>^CXNR+VZN?O #RGD87"[<=RI'Z0"E?&.MOK-SK]>@;?8S@
MX/RR-/H//HX!+@M@[^-?BQ;S=ISK5@*,CJ0/B8JI)VXWIJ<94AL!_WL]?J'=
M.\O= 0Z4;HBR:QZD$5-R.;P/SO=$QCCBB-\"QY<GY#L55WOI<,A3HQ<%]!T1
M^B@N"4PI'ZD?9+D?/Q"V,L!:74I&Q?&]]\++?=HR1]>@!(V3_X/SV^I\="?"
MX9'ESZC%:;*S\GU/K&Y!R:@XKBW(FKX^NR<0\YI@7I.>\IK4F6(QA<GII# Q
MD5YA+)$#F%[!F)<YU(:%N13,VFDP78)Q6'F"R1&&1#R8)Z$'UXP>\AXX'"RK
MX3'40WZ#,:_67JTN)YCIP *]-:8VZ-H5OX?,!:.)LNS3/ZS'; 6GPE@=MZ8>
M,Q/8S^Y!S"\]YB6PZ2PV%'O08^8!Q[G9@\BFGU' )AX/'.QX(CD#K'&EZ3%_
M0$982ER\]>"N83UF!+";NP,X[\)Y/6IT9Z._+ISUVC#0NF5N5> VW(0R%M-P
MKP=W7YXS\&G0AH_6K7_K0F(@&6"VOXC_B+7!O_G_ 5!+ P04    " !SA -7
M4Y$MO"-I 0 DLQ@ %    &%A;VDR,#(S,#8S,%\Q,'$N:'1M[+WK=MLXLC;\
M?U\%/L_T[F0M*A&ILY/V6HH/:4\[ML=2>O:\?WI!)&QQFB+5).58<_4? %(2
M)9,R2?$ 4I7I272@2 #U/%4%5*'P>>K.#/0R,TSGEY.IZ\Y//W[\\>/'AQ^M
M#Y;]]%$># 8?7]@U)]Y%IS9YW+KP96(;_%*EV>Q^I-^N+F1?:/KZVNWKO"]7
MEYI85YWM*QVB?GBRGC_RK^AOE%;POGID$UH?==-QL:F2]?6.%M8S>JW\\?^^
MW8S4*9GAU<7ZB]N@C][ZP:HINFGH)OF_+P\W'UT;F\ZC9<^PJULFO9?<:33[
MC9:\?BB]],_H 67?!AX9WINWGJ<TE.[J)@NGX2[G9#.(C]B9\+NLOF$_ZC6:
M<J"1CNU&_6K]5<C/%JY-GB(%,/A(O]_T+>HZN17H7Z 7MF5$]()_$]8+=VZ'
M8X=]LP6=5T+91@[[>H*=-7)TQVHK<F\?UKPKMB#OAD*^XT'>W:!2?QN5C5TL
MN].%J1%;LV9DZ]</%U^O=-K\)^>#:LT"@HHGII=0[K_1%HWHX<-.O]@:=8RM
MS978HC=262OY-<UNJ[G6+!%BM+>%2*$9BM>MB]2%;1-378;?<?7M]GUU-0)&
MNKIU(7E1I^%7LF^VFV$M3->.:H7WY=8/*,Z?,)Z'$H!]L76QYMH[_-V2,OWZ
M(_N:_:;).*/()V?_@SY/"=;.T/\@]-G578.<,?FL9/&'W/SK U7WGS]ZW_'+
M_K]& WTE)K&Q2S0T6:*Q!\,+"D-T;]DN-E #]3^V>.M0^U1IG;:;Z/X;:C2\
M.\R(BQ%K8X/\M="??SDYMTR7F&YC3-MW@E3OW2\G+GEQ/WK6YN/9YX^KEGZ>
M6-H2.>[2H+!_I!<W'O%,-Y:GZ'__6ECNI[$^(PZZ)3_0@S7#IO>AA/C'$G*(
MK3]^0OQWCOY?<HKDYMS]A.98TRAE3E%3-U'S@ZR;GQ!%AF/9IP@O7.O3R=EG
M37]>/5?3G;F!Z3--RR3L._WEE#60V-Y+7=.(>?8_[#6]XG8QHX]5O:Z]N _,
M:FI_L/%ADFC*_LMN@^'?Q(S/E#>GER8=]^4Y'0P;&]=TD%]^(\L3I%,3%N!^
M(_RRLR9EK-SIRW+[\\>M9F33K ?RI#O,%+FW])NH5NU<=3:\O[^YOKQ =_?C
MN\N;R_/QP]WM]?E(0M>WYQ\R;N=P1DR-_M^],O#3"?(LYB\GU,2>3BQJ/[#Y
MB VJX,_X/QD__)QK%?=*=U1L_)M@^]+4+BAE3LX:#5FA%BOCYUU8ZF*V?N ]
MO86E7='/G).S?RJY/HMUSG\2NSSJ65<V5IF_PH&BRLUF7VEWE.;)UL/UK2<N
M3-W[^/OH8O5\7_6=#@W#^L$LT)5%5<]BXCXNC*'*M:CS0%2B/^.)06')6DA_
MUMJ6O[F8:9:K$56?8:I>_!=4=39:)V>#51=637ZC#W)('Q1/R*7U0>DGZT0_
MGB!&4VR3W6Z<6[.998Y<2_V3?^\,%^[4LJERU9*WO7MRUNY(5'<E;'\\(8C;
M?B4N$2BUW^K%/;;O[)'+#/3OV%B0S4_\WC1C]N;Z]HK:D0_4D"3L32LN)2K1
MFW:&W+AVG$4:7%%.MV2IU^\D;'LWP[;?+5SF]3,_J;@.=#(D]@&#K_2EKJ(D
M;'LOP[8?.OC).]!IM7:TDN9UH-GV?0/% ](?UR:=PA'.4>87W%@J7YH8ONA.
M8T0,-A?UI@S&T-2&VDPWN5/HZL_D\F5.3(<XW\AL0NS]]O*&T/GXN>6XZP'H
MQAV #F-^*V'OV^&]EZO9^VZBWG>ZK5BR?\/#F=$)H?Y?/AYWC]<F!?"33GV:
MH>,0UTG9D40@[O6ZS5AB+*$CR?#8'81955^7_W%N$TUWK["J&W3:Q;'W0)XM
MXYFB;_L[#VM_7)")>VU2(')7GO_@QL+FB-!9+[N#J7U=8#9Q(V3X9!,.;?^G
M-[I)[AY#GGA^/;ZEXS2=V+KV1+P+;F[.8Z$[Y)[?\(L^6\R^6+9M_6#]P'/Z
MC;M,/MQMJO]Z'WK]1%X9'?$PR^\K<!CQ7$8\S-Q7$N/WB]=&?;L]5(L0:MC=
M!VHX//^6NK8J_0(_;9S;AA)SQ*E&&7SH=I/JE##_L)((%VZ\]RVNM+<75RHQ
MTON&]AMV^7/9"M<#-8UL?&U7/MG&6F][:#7F,-'!F6IXN234QS5/SBZ(RA^'
MY+:$]BTG18[NEF6O#HX/']U^$:-[#-B]-+7=L1V\/;:WUK,_MET^MAU ;IRQ
M[36;&8YMF(WK-3/UFR.':71_\06;?^;F>B69[,L#J=GJ)7(%>LU,G=WZ#E.F
M'FJ\8?J#<X=__DTW6?]+=W^H?]_^T$DZ=IEZFT<V=F&+B07BSN.="&/7_2 G
M6\?L-?OEXJXB8Y>KUQ?7(,1U)W:\B!@>VC>\1(KG^"9/B<C".<MW".08CE2<
M(0AED)SWVN-X2I1F\UNR<3N?ZB;^?U/B3"G7V B>6S>N)H1KH72E;B=1H)$.
M<M[+C3#(=)#S7F',?)!%]6#:B4*Y=.3S7FN$D8\:^4Q]QX(52]$CW&)>4K)@
M:4_.U,$\[@$N>NTQAZ%-Z<#%\&'_L3 )\A;!>J(L, HS@$H,#_C  93EAMP-
MOJSZ"NV8V+/MQ>Y69VL4V0ZH4VUALP$\.4L<,9 'C6:GH;2#+S,"'9TU^5VE
MX[(:(O*$#2_UG%_VU; FV!@3=6I:AO6TO#;5#"=CKP>OK>P9O%0A@6ZCV0N^
MS)VQAX]@>FZ'#&@_TP$-L2'#']C6V-83WO;+V=RPEH3PS+N[.;-,X0WG67E?
ML$.T<VO&LKB\I"_;9BXCZ\N7Y>:2>[SD@\\>Q?_ZG5I3*C O3W\[(M)GN<R1
M74ZUF2/++D_>[O)DM\N7+W/=YA=['=[I[S[.R,T$ZQ3=YJ"7-&LMS/NY?'PD
M*LO/\U+[QOB%>3X/A-Z9P=SKMGM%-);4QQRBA6O9RZV+D[M%"IW/)IK+=N7=
M->$(>;_16SJP5-AWCP]DSK9O30PR(D],=DZZ%.O7G> ?!/=$V>21L$UWQ*'O
MV4[+4X?O*Z1M1'P_[.F4;RUFN]$:J^UH'UX<BASO:[:5[9<31Z?0)2?T_MOW
M\!ZX]1#^WK$6MO>6[QL^]<>.CVG4OI<S_UK"5>+JG:ZQ]X\ZL1%_*@G=)'Q^
M_=OV/JS='Y^M/MJ^^YRS9/7.8=%^YNV<;5JX^MWFNW4SM<"EK >;1WC?K-ZO
M'O)Q:RS68\,@PP?&2T]>W7]&L$,Q=.8_GJ<FKVZQ^F[UGMTB=*Q7\\\^[8D
M ^QM9G7/-HU:W\C_)NF8W5+],)\;NLHW\.R.76";W*E.7=18X[>^-UMHV[VC
MO_7XE'Z76AB"H'U;&$$ )Q3&JSZN,N^%ZJ.RV@UX&.""6VE63]'T9]JNL\"E
MW(1B:JM2XN?5[]F'%\2T9M3A"[EM7"6Q=8N/VZU_"[Y1-J]\*>_J[78A>OO5
MV(1X/X*-C1)_;)3,QV9W&X!X8Q/7WF<W-BN3T&)+1.N-+9=_+6B;F>MOF<P[
MY).'>^YET3D@GSWX\X:<Q] ?"L])]=YJ]&$OS.#J_F()TG3ZK4.]S\#\95]/
M3LY6EX5UZ?/'T*>L1W/=F,06KI5>^Z<466!K62WD]:H_=1+64--T-H?"QCW6
MM6OS',]U%QNU$-S>OM5*B*JZF"T,%CBY<Z?$9E_;9,J&;;7&4 ^!QNUGG83[
M0%RLFT2[Q+;)BB[50I+AG:J4V 3PY'+I8]2B+OAI&2-4D/E;8E&#?W<$0@:_
M\)B%#_YD?OYD54$!?FA%Q:V#%U?8:EN6\23PQFHG+/"JZB!$\(Z*6FTK7KC@
MY0@F-@7"A+G;0B7;!=)X(@/'I4+" L>E#D($QZ40QZ44X8+C(J;8Q H39M?'
MJ%K-X*?EN8!8:BIC,E&#?W<$0@:_\)B%#_YD06'""H$"_-"*BEL'+ZZPU;:,
M%TC!&ZN7L,"KJH,0P3LJ:K6M>.&"ER.FV(1;;<MA@SDX9[G"\I#]\BE%!LY9
MA80%SED=A C.64'.60G"!>=,'+%%E+T"'R;O?0;%5/$Z7-3@^QR!D,%G.F;A
M@Z]5W&["JH "?+2*BIO[X3*L1.6^N"%G.W6*)S+PQBHD+/"JZB!$\(X*68DJ
M1;C@Y8@I-K'"A-GU,:+H+/AI>:?K%5]#-YVHP;\[ B&#7WC,P@=_LKBD_*J
M OS0BHI[E=LV:,B=/\ZM!?W&GM,'+V_QS#M=Z]^+*3;OYJY%#**ZMF7JZN8P
MM>!9LQXGUF/[!1O85,EH2H@[-+6-7KW0'=6PV!D:SI<E?3.W'&Q\M:W%W*&W
M,!8:'6MV#6VE;BXH^^;$.WO+@]HW;"X>L<K.4#2?_&/;=$)_>F^K8L+.L=W3
ML*$].6/'0YW&'>!(X,7&?3$2\KOUMIQRRRW@:$XYVUF?2,-/&EO=?OM F#E]
MN?I]LF.*:L:TR/.E@8'59F"L$5T+_^2,O=U"@)#</B8ZXA>@XW'3,8@ X>D8
M53+XWK:TA>K>V2-B/^NJ!^[SX?AW<9$=UF0? IN&YQFS%^:<-I!>BCE@2?OP
MXW*//@2?$Z:Z*RG#W>8?,0]!DG7AY)@Y2I; SMX>,6ZU_8C9"#*L/@^OQN-?
M*RG 3<./F($@O2ISS_^03MO]3WG0KFKRW*271/?FB"D*0JXVDW>W<,#Z0'**
MEK0!)R0E *27G'LE)73$Y1ZL"=2%AR#)NG 25@:JST:08?5Y".L#568@2*_*
MW(.)_Q%0%(1<;2;OKM/N9%?=6"K/B>*R'A'#T,VGK\0D-C9XLM5,-W7'97E3
MS^3R94Y'F@B^CV!/!S<X2-33XUC;!6"( PRAUH,!&.( 0RA_ 8 A#C *\S'6
M6W'^3;#]:BO.PK5/_[WZ:;)=."MU\T#HT.FJ2[1S[$SI>+)_V)[ 9VS0X7#"
M/^6@^X+-/XGM#%65S%V6-"XVO-+W=(.^B"YGB;,\3_GVRJF R,45><:UG%_5
M"?Q*K"<;SZ>Z2I4GCU7>BB8\-JV,;._)F<HVS=C+T_/;:K$.1% Z"PY0?%\7
MV*9-(.2"S"U'=YTKRSY?.*XU<RX6; M3?14A7X&-V?]J41+P4%$\9%\Z?W?=
M;D@;HNG&@LTI1D1=V'R?XN4+V^A(M"O;FK&*&0N7SU#N'E?E,>Z)/9IBFWQ9
MAM^ 8^=R-C>L)2&\HM+=G-U!;+3D.!@;/RMR5&JX'ABR[ . .PK B;.<!("K
M/^"$"H7E";B-/\,'][M)/9*'T7< W>G>D0'3"L"K'?".P\0"\,0"WM&8VG/+
M?":VJT\,.O>?N)MO 7JG;XQ-#<UM2&8+@.^XP"=4]@R [[C =S3^'H!///"5
M5ZTZL%& _M1=WAO89&G6+%@S9YWYLAPOYUY*^0TVM>O9W+:>>3A7<,#$Z-%&
M\.%=JU80$D18G ASRBN((\(O"]U@)5+IUZN7-95HK)[6CZ,@X)HS^!M6I[I)
M[&7P^QJ)=4__ZL=6$&:-F'FUH+,&=V$3^OV5_L)>U4G?1G>O?KP$4=:&E=[$
MGMCK[]@V8.O1_4'G]340J5<PZ\T^UH^B(-=Z\O5W,M55HU;J=KM+]:,BB*QR
M+#NWZ,/LA<K6N]FQ-]83=0'J),!]':P? T&<M6(G6XVND? VW:D?\T!40K#J
M2J<36G*C/Q/MVJ1W?&)1V*'C$-?YLOR&_V/9YP9VO!CV/7;%7PI/T*% H:M@
MSZK!M30"'-M8(S-L_UE'&>YVKAIB7*E,X&%1/,Q8D:81(/!0.#&NU.F-93ZY
MQ)ZQ1*2UKS(BIF[9MY8K^E0]K/7!VDL[W:B6B@31",N:<YMHNNL?"+ST-[@\
M6\:S;CYM?^=UXP\V"M=\9LI79_F$P,*FG_K'HI[K"@5#.F,EF_#G'S>Z2>X>
M0YYX?CV^M6QW.K%U[8EX%]S<G(L-B]?]".Z$V3.$D0")_>C7,O!7SV-*XO 6
M1(ERM8J_3Z#5TEU $"!(/0B2?^T6X IPI<)<$6=GWV9_"Q@A(%:]B)5H[\Z6
MQ<IJ[TYB-D528G1_P:J4 @72 7!K^&H^+0 ,51=#HJR]Q,/0'P_8?/*3[753
MGRT$/?FM+MAZ\VFLJ.]:)B=G[.V68$#S 6H!M977M?@%4"LD:H." 5T+J 74
MBKLB#-.DBDV3:K1H"MBK,O8JN*X8LDH_GA*EV?R6#)_G4]W$_V]*G"FU(6RH
MSZT;5_ <;1$7YO<,?OZ+\7MD6'.G%6@ -"B1!J*L.!1! UAE.T)ZB+K4=TSV
M!X@'Q!.&> *N^X /"%PKV@>LT=(5T ?H4RI]2EE]\^DCRPVY&WP)Z;)UXM*Q
MI\MR3,<D5O#20Y>U@4W IAJP:7O>$R3(H?.>2EJ>/W['MHXG!GF@NL'?B$V?
M1;2[9V*;^M/4O:+N@ZG2!K,K1G=7#T"RXR)9[*?O0FD5[XT'J'J93*81Y$&C
MV6DH[>#+C*9RH_L+7WQ4XBL%0)ZP<<E'A5_VU; FV!@3=6I:AO6TO#;5MU0%
M9#:DG^"%B"3] S5"M<:V//TG14JU'GD;*Z+$8.ONI0G9NC!UCZKGM_]>0WU&
ML$.5U9GN6&U%[IW2[U:_7WVU>L]^'^DM ]^![\#W-UWP70H+%FP'U@'K:LBZ
M#"/MJXA%M]'L!5_F'K$XG(40VQ XMB$B,\L*I#!"Q9N\;EUZ^'HO4!FH#%3.
M;+%YBYV">;K 3F#G,;,SV]Q3-JVE=^R$5[JE<NS<$UNE30L<F!XH''NQH()6
MVF(S)+P,[@JH"3J8W\H"$T%&<YRU1$&XI0EW=YDX*-XWEHF#EV80U-E%0HA-
M/<?SRQ<6]QN:VIB.)'OYEJ$<VPO=<<5?&HJT4-&=SMUF[(Y=O8#W=F5[T#L%
M&)5""^*#1(N0:/Y['\(G7#40[;Z)B@ N0KDI_.UU"C^@H%04*/%1H&2+@M9F
M(P?H@O)U0=S]"'ENYP$4E*T+XN]*R0H%.BB TKV\S/UVD&:I/GNFZ0LA/OOP
M![:U]4SL<C8WK"4A(]=2_[R;LQ.8Q1;?5O,W@8O(?M30!4\OU#]^)XZKFT_>
M52\4[+K#LMKO3 K^*]UVW*%IZA3Z#K:7K(U7EF%8/^@OZ/?L_=WC5Y;>?R00
MB?W$P+#ZRN3@P07<QL+MB,QT;)H+;'S!CB[X\8K" 3-T]&J(O-=U!_*&2*[N
M>RXE';>I2!VA1\N>85,EHRFV5R=^5JVV3P3C(GJ7GF_U*"N5&@JX I6URX0"
MKE)9]GBV.@H504OMO^8.T'BJVUK  0*P[+?3;X]=#>UT6M35'$;5%6A(M @$
M6K/ #PBT9C$<$&B5PS&KQ!N0HCCY,\EG5R"8XE/5M@7S0!UP6U==HO%UN>^F
M[CH/H^^5%,_>O@C/GGB.!\BKDD[('M4($A5%3<:;G(.\JCM1#Q'NM:E:,S)R
MZ6U9;VXL%;/0E+<%Q'+<N\<1-D3W5_9T8B/L5[VIH8!#5F) P#5?F0$!U\1)
MBEJI 0'79.4FC0VF+@K!MCH=TL>29V)8<W;)Y<N<#C"I@<AC] _L-(  ;#F
M .P]@ !\ E[@WC!8'HFI?</VGX1ED-0' 6]U#KP!$/]1^P$@_J/V $#\1VW[
MOQ*3V-B@(S349KJI.ZY-OWPF]<% K!Z"%P!  '\ @ "> 0"A0(T@CH^P'JFO
MQ'JR\7RJJW1@& R^CT23,=L=%=G>DS/56IBNO3S]/CH.JPZBJZP=!M%5UG*"
MZ&IHZ\;_JJCHQO\Z=EL'HJNLK0/15=;6@>@J:^O.;RLJNO/;8[=U(+K*VCH0
M765M'8A.$%NGPQ)*V7O[MK9 @PCBBR"G\@#@H0O, A!!?BS@9IR:H'ZC.0B^
MO+$<YYQ>IYM/Q%1UXGQ9WF)W8;,CL]8?>Z>,;5^ZO)L8^A,/%EY9-M\[-#2U
M[PX9XQ>Q0Y[QN^Q7BTO:\=R\"%]H<;R(G4LS\-U[#;D5?!E];.OU^-:RW>G$
MUK4GXEUP<W/N#<(?H\7$(7\M:)\OG^E?Z_WM.Y\+#J$WSB'=-P*1Z(C]](@A
M#*3SA8UEGM,2!HB8TY+@I3%1^?FC_G)J$\=:V"IQ*$C9^RG!&F^]IC^?H?]!
MZ#-[0?]%Z'__]H*;G_AG2;[]/$>.NS0HF![I@QN/>*8;RU,TI@)PT"WY@1ZL
M&38_(?ZMH_^7G"*Y.7<_H1FVGW3S%/$WK,4-3#4$_< @C^XGBF&,IC9Y_.7D
M;ZZEGH0^Y'__6ECNIYU'>1]*7@LDY-#1>7SU^).S,2LWC:Q'Q'04E9KS^2.F
MXS*G/<N^2^P !V*S3DW.Z$@JS>;DT^>/D]7SIO;J@5.B/TW=4]2:OWQ"JF58
M]BGZ6Y/_^80F6/WSR:;64VOL?O5#U]PI:T;S)WJ=95,AGR+3,LFF4:VYBYHG
MZ&/X ^7L']BD_PL^M.A1S?5YWV^OQY<7:#0>CB]'13UT='G^_>%Z?'TY0L/;
M"W3Y?^>_#F^_7J+SNV_?KD>CZ[O;HEKR+^Q,J6%W+5-"%Q_./R"EV6D/BGIZ
MT<*^NGOXACY3]4D!?KN848VB(A,S \K.\[ZP5'YN"[,H)\A7OP],<T4LX)V<
MR<W&/[D^WMRPD$[YJO4=RU='=R9YG_.#WARS?RZHV2.VL7P@<VK[3Q OV>;2
MR0^]%W5)3B>694RP85CNQ'J).;IL)+NR\FEWA!$5Y3^_#Q_&EP\W_T8/E_=W
M#V-T__UA]'UX.T;C.T3Y-:8D0G(+W3T@N?-.>X_NKM#XUTL4H-Z:=L/S,?M:
M'K3:M46^92-W2M!?*SDAS]M U DAVMN<N.=77WH>RY9T3S4V0:2-FFIXN238
M)F9,\?YC81+4:DJ(?;@KX[H*XNZA3CV+JQ[&-J9>/)LT9J\?FJ_T ^T\&C\,
M;T?77 N @DB@(-RUI%8:XM&V9NB/]1_D6H@U:O-)[LW;C$7^XW!NS6:ZPV:<
MZ$JG$PN*J0ESB2,A?LDGBNQ:[]*8V*43\T:KV^P?C>(;SNF\FYJ:N[EK$8.H
MKFV9NDHG=M>F^J&H1KR[?,&JRZ7'IHPV>>+9_*:+L(.<.5'9RHB&=!/IKH/4
M*3>6[PMIW0[(73ZM]29DOYS0J9=*#&..-8UZZ^OWSARKJ_=^N[;F<_Q!NLF6
M?-BC7_R&Q6XV'3.JCK4E_<=.UW%V!VWU4W[NH8J-5=]=:[Z>@'98>Y/>&^6+
MEC<XSS:/V-2:\<50ODY^[JV(GUL:>6WA'';%W+:>V7UB.TD7Q, _J%,5J28^
M?W2U&@_R&+]<^TN6WMZ<1%JVUVTT.ZW60.F],7X?7?OL?XX3Y>\X=!&U_Q9U
M &STGX6M.YJN<A^ *DD]"'-^F?V$3?V__/W[VN#PW?6'AP^C#\@_,<]&V[!#
MM]:'W<YZH/GHJ\B/7&7GZ687Z0>]0<NAIMG$<?Q_6$! CKMDTI); _0/^BMT
MK]LN-7)?C&?M0UEN4+Q^GM.7=_;8^A%7;8\63]A&-]C4=CLFO>5*^H_DK+RS
M[ZG!H R,NR U_K_7BR6Q'G=O4?MD_#]][AFO>-JUU^[URQ+<.[_A3$7-;3I$
M^AP;B+P0=<$V9]*/*76)4XSS5H(__2Y2K@RL0YO@!))4^O*N'-][D:+(I["]
MLL;]U#*3S7N40:<A]YO-TF#SL/;YN<3DP2>'7FR0.>L*,GE?<@5-0<K\/PN'
M6J_ESB1 :7V0Y_[CF70S>SB2VQ]Z+$A$_]_J?FAW(KH]HORT=5>G=_9F7\2F
M$Z[YPG86;!KF6HA>P0VNK+R;O&?L9LL20]4]S7"D=OI?Q\F6UYO&Q')=:\;C
M@LBQ#%U#]M/D75-"[+_WG] ^-TWI?N@+YJB-==>+]A*L3I%J8,<)]3XSZ+W<
M^M 5K?<V9I!$H^5L8AGOG/=Y];TS^- 3M.^W_MH-!P!Y4:?L/%1$]<6/J4X_
MV2B5XF=W O(ETGS[>G@I*Q/.J9CFFRV/TK'F!U=(Z)[ZN,_86!#T]^:'9O.5
M#Y%X8B@@YR)'T >DQ\68PS<<WET?/$@"DO--F%WZ1&7L?;TTQFB<:%7L=CBZ
M&+Z*O*.OAC6ADP"OBEM!$_7<7*E$[MRUJ;&%"NK$+)$Z)>J?[(9_4IU(^)H.
M<Z$"B]WO9-^[GV('/>H&]<"P8= K6&R..69_+73FEE%O;$+\"^B-?<_,^ZG<
M8FM!7NC,=]("OMU*WLQQ8U^ST!G2Z+=4@[-+YS91"=?GLH)X]-A![^C]*#*0
MLZ!ZW)E:;.U]%81RI]C=[<4/O-U4UD[OQWY'WDN(3L#1.R70VPD%&;UH\A_:
M%_8C?CW])6N*?S,6L'1X2WA+L>.B01-I>.E\\+/GWIA2GR]LF][#"W4R%4&G
M\@LG)K3_39R0C!+ZU%4VQ/K=^F]T:P4O67V<G[]<"9 S:5-!SW37I?C8A)PH
MTI>(4 6[1-=,?6&5KQ=<8!=[(;\=^&_N$9RE/"SHE>UFAX&;3BD7AK=*.&J,
MT3LV5KU/M-W*!_\*=ZKS<-*<A9/RYH'7X#6RB?/^PVO,Q$-R8(#8^/C !B07
MBV2*'8P,^D2"L$JGHE0D#(Y,MC93<:&?LB3.1N@7SHQ2@#[%7NDG*L[9')M+
MB6ET>CNJ 5GOGM"3;?UPIZNO/U %3WC;-/*HFSQ)@"^_>0LIZJ>H)GK?:Y_6
M%\:X)+J1ZTN9;E]='M'D];6ZZ3&6NKL-966O@D;J ZPN'#(-\B:;&S]>% ]U
ML]BVDL=;GO9.3UJ##QVANG+#2.;U)T C[P/.I32][ C6R1#UG[!';4%FXGZ'
MAAF*JI6B9YM4N9S70T 1%-65&!EI]CD%W)-E+T.FW/PBCD+5ORC^[#O,LTBU
MK%$)-:341PV-/*_*Z\_:M?+>^BY3<3JI-&KP4?BR<'23.$Z^6Q5>(0=4;V&J
M=_7  E10JD<)IALNPZ=01Z /5CW_RCM^[O4[YRT*1[4X_;AG54&B<_/0Q1#]
M,6Q%CZ_C49_#M/@RW,+Q5B3H<[V=3"'[%RR;/\M8LH?_T.FCZ6.12?MKL?6%
M9]WA/HR)357'!EN_8&F\[&)6;T+#MN8@EK>K:U&9"JUW^'WHHL)JN_7A_\!J
MV-9JF#,EAK&"$'I'@<'7I+S<_?TK/=&KH77Z&_V;.&]D</G.$!O)0G1>L'G;
MZ[Q*G3#=[/!&#/G2Z'#Q1*]#LK?)T6L8 S5!/]A?OFRN^!H[U22O(DD\W,ZC
M[:,IMHESMW"Y4J+:Z00YU (3OF*X,'5/*/RJ$TH&5:=.KO/+R?7MU?9V37,Q
MTRS7OV!;HJM:47TJT9.SEB+)2E_JM]>Y\ZMF^@/L\!:M*&:'Y-4%LP60M6EZ
MCHNMFO[LI07]<G+_]<MOX8NIWN\;S#OPG0;_$]LKHM!DA270_Z#MNUV-']:W
M"XF"!TLIG*SK:JQ^/GUL4+/G?;[[!5O_1?=?;[]_VWO_5\.P=]1.O'H?,G_>
MIM3'ZM7FQ::&Q/WPZV7CR\/E\+?&\&I\^7"*L/$#+YW=PA!;8[DJ/*$D*CSA
ME9+8&>!?+\('F'MQ!P[O^.[\1C?_7-]?TYVY@>FXZ:9![49C8E",ACJ/?!CW
M%#'YX0\ CXA@8R4G=L7NA\_8UK'YZMH$/G)HM9,W1+S^-_^97:**,YZL0AOU
M\TZC?MXI [-I(F^AWT#V,M"\%+L/BVL0!10K+\71Y+($+/^UCS)Z#15LB+0+
M;NEVEC)[Z&'1+*XS@A:S^>F QOM\1WYHRWM#W]FKERAZSLHRJKPV]3^T?]J>
MPR?Z-4_Z2_'S[31-+T.3Y6JNE*=___:'P4_1D^-LI7V/G\AF9KH:3CY!C1A;
MJM6IK,U?3EHG;XX4EWV^/>$*:0M>\^T25'-LN_*ZJ<S%;="KF5]S2EZF^D1W
M/7K>T^O0]0=TM9X67IN>%T7]'X^%^"S94 D*P\)0QGVKD'7 #,>N!&A=NV2&
MY ^ONI-(:+FW.T@!G;;X30I0@Z.QP^TT9GJX;N*1G@T=UG5!'?3NNXD7&KVM
M]CZ4%:(!D Z%[QQ2B^N[W5MC<]8"=@O([@/'KE"239R4#/N"#<HP@D930BBW
M,)]?;U5*"O*-YT!=$-4KEMGREAF4JK.0#AY0$"AX( 6M>5H.!FP;)=_=G'BU
M#S8YX6/Z",*Y-])?T#>+I^UZ\8=MJK)+&"/K9"/9N)ZU@9Y SX/HR6(W.C]^
M.1.6L@B&3::L6/0S0=ZYSN@=JUW^'FB[,]YG'6 OL/<@]I*_,F$MCPQ-+4,C
MMK,*&Z'+OQ:ZNP36^N-\U@6V EL/L[6/V=A8[$S1E6']V'C"1TA).IAG?: D
M4/(@2IJ62]Z<G]ZRB]#80D>Z'.L-TMD V"8@V\H*MBA5"[8H;]'\&S;Q$V?O
M)G7J0G?4A5>'FAG1H8F-I:-S,[QA/5,+7JXKN^:!. MC=\VJZBK &\ SI0DZ
M '3 6@>TJJ8#6F_I@'^RI'*=6G&V?,783#\P5N^9,C L9\'2+8<3:^'Z)6[0
M@^[\60>&MU@)2F X,'S-\';5&-Z.,<5V;<MP.+OO;4LE&B-T'>C;!OH63=\J
M)MZ]Z0BO$^^N/Z [OO?G*++N7O^ZRIJ[4LEP!GEBNV#VP_*&7>2I;%ZKJ_(Z
MV^MU;75VS?@TK!*A;#HC>8M/;-:"KNAGEEUY*O'^ I,2=8G#NI.Z2R&>0:P[
M;171Y1W<VLRT$C8[*PA$**@R[%9)%_H:[\TPSZ5_7=5UX;J_9TI-0S;YD*E*
M<4M'?WH3SR/Z2^S687&#]_:L]7;PX?/'P!;$S^LB+NQ-: =V-]T&&OR6+%YO
MR<Q=_,$=]NR!F6ZR?W7#Q/OL=^ZPM1?\]7=Y[K9G?Y3U<]?;G7?>;+TN<_O]
MJZ%/N ,_Q<"GWX>_NJO8>_&3"#_X,GQO_ELD3KA7?Y?)L;?K%[HGWM^CZ^^*
M]]]M[8N/L3MW7F3#__?5V6]%:.7-B/E;.OT1\]]MC9B_,I<DD:CPSA0\BB'(
M8[OV_$%D+[=&<&\%"2\]>3%Q=$VG>H44-7A;)Y??W5Y<WHXN+Q!]-;J[N;X8
MCNF;+\.;X>WY)1K]>GDY'I70KDT^&BOUAMRIM7#H< 5/9BRF+;N.4Z (2>*B
M%KY5>]1-;@7"/:!D+L3K$N]A-=M?FW1VJI?2Z4AH]5?(V5Y>D8FMZJ%)K5U@
MDI+=7=91+.5M7RQIO9J@YQGO2+3(Z<8>;YW=?LN?,)D=,D( &$"GIW.H1@X\
MBSDB4XIJ]NTJB?KS1S*+/ND[X:CX< X. HBU4+$&-VH7+-K=LL/YJ)'__6MA
MN9]VVNM]&-)J7U?V]@6G$]YRV[/W9?:Z7-S&# #PBP ^VPL"NJQN(E7$U&'-
M-E5?K7Z.KE#Z0M5Q]--P-.*.>O;:">YR%'<IQM:7SA/_,#HT=!SBAI\"7;XL
MX"[BW^48[,KZ_P./.VPG+UNS4MD+=G;D,S:\1;\0&JT6-7;/=$CDFT=)+I.;
MO_:G3L[^'O4D)>-'A6:1[%;V9LN+JMQL]I5V1VZ%U]WFY=,WM;R_CRY._(K@
M"Z?QA/'\E,EM:&KLG\N-T(;N.;9M=KS![^PP[G5A\-;>RM^;&N$-MOU"ECJ]
M_JM*WX5)*QDX4NN)U#=,C+#7H,C@B7M1U0Y!E=*0E49++@U5;:G;[Z1&5:HQ
MRLT56BWZ?KWZQ[_;C8NK[_0>LX:M/37<*;TCL35K1AJJH=/1:]C$L1:V2IS&
MN>,\^&\:4W=F-%B<D\5C&L_*<X/->MB85,1PT)ZXMLY/8&&F(Y&Y*)ZT;]VP
M')YVTFK_S>#GQ]B>U&RURR,LH"@NBKIIM7T1*)*;TJ"I"*_WX[GTH/?Y^;7L
M4"QVT+Q**%)8N+3!#MO2B(1,XK(T&'9,T ]>O):^^?MGMFJZE2BHOS2FNJ81
M\W0%8J7)BWNP*\_X="3>KV0OX9[_3*(M<N:$'U%OA!]6!YIDOR;II;5'*U \
MK#%Q2UQ_62:5VF@K4F>0?A("UJ<PS/336I_,,=.5);E7ERE&-8R!5Y9J8PE
MZR9GD**DU;I\]*G;=F-A,SL:]?HENFN FKBH2;W&DP]J6JV!\)H7G/RX>OW:
M?*:]L[S\55#IB<F9>F%G-?!+2L=T3E!7:BDR*'#Q,9)ZV>9@C/0&4K<GOKJN
M]EK\*HV)#D! TVXI\=<[=%8YWX.UTHY,&M\79SLYN[?)'.OL#&Q^_(&+7[+5
MXU&]RSK6ENHQV? YXM%[.9UZ <67UQB_\%K *>)K.=)99%G7'E*IUU?B0.J_
MQ+8T[$QWT>15GVU_*A=4X-9G[-:OK )YF;.M?UX!0HL745']'#H<G4,GCD,7
M.T6Z%+\O=NOV\9X9C(-,R:4G8SK1YU5RO-S(@Y97):65Y\0B+.V[BK.-8P"G
M?*!1R@&<K7Z>R0IIP'D4TYQBS)?<YX\:6RXVJF6JA%Q[:*5..SV<J7*[+77:
M75BA$A\EJ4,,&:"DWY+D;HGI9T>X%>#>MN:T_4L)S0W,]"N='+ - 7-6!(3G
M]H"N3<&BU+& E3SNF32HJW2YDD7:=5]YT)/Z92[\ FCB@B9U<"!ST"AR4Y)S
M]:TAK697$]\PU;MPB <V!W1O6AJE7H^_IE.J1U8/CMSHST3C)W;0!RRP\<!%
MDIQ*[9.SMC08-$'[B@^;U&ONV<.&:N".1#U,X?5OG3QA_] \\\G#&\MB9]J8
M+SB 'DY!J$%:/;R6Q W!#N$DNGO\[A ^PTS+I@&L/HB/F798 "26$LX#,YUN
MB9@Y0@_8+T,*&C@K-H5%;&)I8$\2)!LNM=F&0%"^XL,E;$]"+.6;*5S8\H/X
M>K=.GN^UZ6+S26>;.KWP&JP]I*50ZAC;U68"N1&'%U))NXC7DKI*B3OC #1Q
M09,ZY)8/: 9UR1*OAO;USC.KCN(]@E2G=NKP72"SZ=8RU0."X1W(NP,P<C"F
M#@MF!\96/T^//,<\NSJYZ>.[\? &[:D/+! MWZ1"BU)!LQ9LSK'#A:++ZL5O
MV5Z6IB^CP@F:CI:=KM3O]0JD9JNJ=N+X )F^1DMZ0+:;?4GIM@0#Y#%,*E@"
MR?7PR_7-]?CZ<H2&MQ=H-+X[_^W7NYN+RX?1S^CRG]^OQ_^&.MEPEY1W.0:/
MZ].FKKRAXXENZ&Y4-8SR!0)W$?\NQV!ZHFI%SO&R N7!Q*_LW4D=QEV)XMZ3
MQ$&EGCJ2+$.)F:I!)W5(-T/HM'M2ORU^B<9*.RX[.O@+-O]$6%7)W.45>:NA
MBH6,SG42AW0QMO13)H'A6@#.Y0M1%R[1V.;GA>O0#]DL]A!6]:5N*\^5GPKJ
M8S'QDSBZ6PQ^9$5JE0F@X_2,[071WIQ: J/V,RIU=-87P,UF_ _;U"[URCSE
M   3%S"I(Z@9 Z8G*4I=CL6HALK];A)LFU3GVN29F OP@-/0)W5H<[45[E^Z
M.SU?.!0VQ%YQ:9F:23R?7.HID%-> >RDCD+F@YTNRW!L-DN$SA'ZO>N0"ML?
ML/9^EZB!K-6N+=#+*;B5T0;+PUG%?!NIV8%D<_%!T\UHAV56H&F7&%,X0G\X
M6A4_KC9?@BI.P:I,=EIFPJE.GME7H(4SPDLF6RTSP4NNV7K@"T<IX+EE<U18
MC_1'[#PU/T3'"_ 9EOG4<(D]H[*:E+P?*-'1[EF0[>"SY/<2+UTTCQ^?Y8?"
M^2E:YA,3SP65SD%)%3U)Z8FVLP(P=BC&TD7\<L)8IR<U>Q6MDEU'SSN@^,\M
MDW>)J7V'F+IE>[8@D<+/E#L'W3S#O7A9DC5FLT)TQALT3QV&#,C]4';W!M)
M3F]!D@UM/M8$ %P6@%.'19,!.+?SAO)'[U%-4$+/6X!<E<-\P=2QTRQR#EBD
MM-^3VCT(E58 *JE#I5FEIU!/NU/F.>""S J2'>*YY>9'J-\X!NMUKHI$K^%%
M$'>F#G"H9S:/WDO&U+'5O7D+AY3AZ/)X6:ZI"R)#H>Z(ZZ4.S!Z(N%H<!UH/
M#]Q;*:(B:ZB0,I.'C]5+':>-R'XXM,B7)+=+K/(/N(F+F]3QVKQPTVG694?E
M<1]RZ0<'LH@$ %<]KJ:NP1N0 HN^C8D]"P;E!'2@0+]GA)G4)7A38N:MH$ZG
M*7X)]#KYW%YMQ4 %K7P66;:"#U ,-7DQU%[JH&M@D33E.9HMJ2L7ZJP7A!K
M9D;83!U//12;BM*2.H-"$SECH$:0Y?R\"\:-7$O]<VH9%#_.S_SL9'=Y"B7C
MX"XI[W*$WM>Y-9M19<J9] E]=N;87#VYX1"UH;\TIKJF$?-TI6O[;#4]SG7R
MR5F[XX5-V.5G_C_(F6*;]@(OW*EETZ9K"+OH[[%NJ<1\-%7,S0_-IKSSY#FV
MT3,V%B1F3]LQ'\>VMLI2K]_9>1Y+*(]U@T[,!_6HP>E+75;)(&Q(=<=A14[8
M8ZU-J1HVO/]8F 2UJ"EE/AN_X(*H9#8A-J(M9Y\J$J*WF!-JOIZ)L83ECQ13
MV; T@IC+'XR%G(2_,WRF2VF'@B@5P$A8=#OF<D<&&%'$/V"HTD[I;MDI?RT<
M&]3VZ%I#-Y&*Y[J+#="OR;G33ZU?-W*XIV*X-L\](:0LM-^C3@UL]:P 7E+K
MVBSQTAK(4J<"QVK6:58S5-7%;&%@EWK#%C_D3;5F<YM,B>E0]Q;I)GT/%:DB
MP/-N'ZD&8<E2<4L KH3"C\<Z#XKDFDODQG+8\8EWCV/\DB;G&CET).@KEJ]7
M>.KU>X!2(O4\",L(BEL;,%\D,4]9DOOB[\^OE;,<4-H:>=15'<[C+"2RLE_?
MA^5?Q=+W#\3%NDFT2VR;NOGD!.1[X8DW#3$W*EYI*U*KV&!]1.A%8,U_%! -
M2SN*94ARAVAS(#6[(D2NWQ_/7&"=4Q+[%#:@:X&Q^D%8PE<L@Q(,]U[R8&^Z
M=))N2U(Z>2Z$5J3V"Z"1HC$LJRF6[<@"C7R7<%OJYCI5A2HQ;]B)U*=W"L34
MHSMD=Q"6\I4T'7%H:AD9%3@/&J :"=6P2A1)LQ.S@ZK()T5_=">6MF3O6 K_
M&?H?1)6NIC][K]*:@J#2WX*)2JA4[$_^AI'FY!-7\_D^ZK-^-IX2=D2<-9MC
M<\DR=+PZE-AF-2B13B]\LGG(V.9%"-PI<0A#D$9,AVCL%?=S^$J97SR87NZX
M](,9?8SS@<KV[/,DT*O)60$]6XG3?Q 5VVJ#V?W7+[^=[.*JV?PIC'+^)YS!
M_*,3?KN=^UV-']8W#&D,"CS$__W6#::/#=OZL?IF]RN5& :Z_WK[_=O>9X2[
M'%$C>G+F/0NAUNJI:V1OO0Z^G*X]L/OAU\O&EX?+X6^-X=7X\N$48>,'7CHK
M'<5<')-L=?P3FA)O%!5&0-]Q^UN3_Z&_>^73^5^=H(]A0_[K1?B0,]EE,>#4
MZ[K1S3_7S]!T9VY@.I*ZR388-B8&SU%\]>CU3=%GC*8V4Z5_HYKR9 OG/_R1
MT*FVU9DCZ F/7;'[X=IGW/XX@<4<\W*R7IE!EQ'R\T=\%E?H;^J[GW=:\+/D
MM4E"#K'UQR349>,7QEL/JM[G<=KT5I,V+>(-\MO#7@9:L]&05%MA;D&MN7."
M7-UES^.O??'2:^B(#N=S0Z<J\&[N6L0@JFM;IJ[2AUZ;Z@>>Y#A:3!Q=TZE
MV8;.MY1@YKTXO[N]N+P=75X@^FIT=W-],1Q?LOD%_>?;Y>UXA.ZNT-W]Y<-P
M?$TO**&%[[Z;>*'IU)!(%.[4TE@+APX<O2%Y82<@>IFE?"SGQ/;?4<.#WQ=G
M4[8-\X8QW$7PM=\O)RPL3;6([WJLWSMSK*[?>_J&6LRQOT$PQ" E4^I>HW5F
MF;FQ>EEKH\^>)[-B?59+KFM5ETG&>WYWHUUCJ<F_G'3?-J%%K %%8'3WD3L$
MVK('_A+":R8%:.8I+S(+/HL9DBFE)_\V^JLQU6T$S>BG4P<1BBAMG;7]^2.9
MG?E_^:S+1GQO;R4"A(B#D)'^(BH^O.E;T<HN61527\UWE)_VK"LFNV6<-<8M
M"U84IQ3@5( X;&6PMNH31+TC:@5$?2RB!E8?C:C+975"_R9F7#0#'.4;'WU8
ME<,UB;MWV+,)+V5YX[!XP]_?>,J@A#3H;G,GD*GY@<QVHRDGR+7D@KJRK5E8
M3=++%]58,* /'8?0_[2T6=%M6>K*$>7O\I9>3D !!#9[(0A4-@A41$)@1Y&4
M043R%B"PJ@CLA^M 640=.&A+W3;HP)HA<!"N V7A="#+&:3^9:<=D3-8/ 3+
M6?PKW3D^MQR>GO%D69K#ID]:U5SD%.F]A=,VBRS?KMS,P,=F\KY[_,JDS9*Q
MB/VLJ\094;FGRQAL23TY(F$P4RFGR/\%^(H%7SD#!SUC^+9;4K<G WP!OF_#
M5\G N\\8OKV>U(DJX@+P!?@&X=O*8&J0,7S[7:G?C]A7*@A\CW3)_*MM.0Z:
MV]:C7KDE\^.A=#N#^0"7]#T7=#H3)/4'8E,8X"H(7#L9^/^'PI75G06X EQC
MP#4BHIG(WS\4KG)/DML1%7$!KX#7(%XCXI^)'/P,\-KMB(W7(UWG7Y\CB,C+
MG.W =.)G("5*)TZ48P9WSO[.(=EWZ9\2QJFXV[KB)-1MI<\E3S(7719P9\"\
M<)@_TC6M!^(0;*M3O@]4(\_$L.:LT$#%UK?*=57?\$'#\D^29X%Z<AJ:VL5&
M2I>>UY(JTX1.^L7),P%TI467$I;_D#S#,U-T\26E5B%+2H"N?-$5EIZ0/'LS
M:W2Q%:!>1'E@@%>%X!66/I \-3,'>/7EMBCP.M*UF1$5F\/=4OKYGX2MTH!3
MFAWSPC(?DCJE(V(8+.?9U+ZM1'0([11)Z<+VC^I#*RP"G]0CS1Q:<E<8A0[0
M2@VML&AY4G<T8VBUI<X 7-'J0RLLLIW4%<T<6CVEB+@A)/WM2?HC)F$56YDC
MBK69;NJ.RV*&SZ1BWNCQ!/V5L*!_XA1 3^Z4RL,MJ1\TKU2D0:<(-P025RJ/
MX;!MTXGS O/ L"PU6T5LD08,5Q[#$8&O9,F".6!8Z4B=IM@)68!A,3#<B@BO
M)4L@S /#BJ0([DL<Z<+UV'+I?,%*EEH('"^1XQ%!SD3SA74JJ4]J)QVK6U(_
MZOP605@-J!4$M1&QTT0SA(Q0*TL=!>I= &ICH#8B[IAH3I -:ML]2>F)[4$!
M:@5!;41(,]$L( /4MBEJVU)O4$3>)I0'2.CWW[#J (^V-5OY_I8)/K^H)\MW
M6Q&AY'1._[6I6C/"$'#8J?)R1QIT2RE N?=P>0"O8."-"%:G\_TS Z\B]<NI
MWPO@K1)X(\*SZ:8 68&WU93D5BG)%@#>*H$W(BZ;;B:0%7B5'@5O*=MMXH#W
M2., =^Z4V$CG(D;O_"C >]C&7<\[PV9K<60!=P;,"X?Y(UT5NV8'@A'']0UA
MQ1;$1,Y8;V=1^?[:?*;"81LF/5]T):YT=>^+B '6(' B-*JR*$B?+:J**$4/
MJ,H755G4B<\.5>V3LQ[4/JD^JK(HWYZIKNH(LW_Y2!==UNZFO]X"_F8B'.U=
M^VQG45I]): #=W/W2CJEKT*K\F)C*8NZYUE@29;:S9(*50&6,L)2%D7)L\!2
M6VK))>W7!BQEA*4L"H8?C*4VLW%]N:0IRB'!N[HL6WK!.]^)E)!)JE81M5XQ
M^;V4C3AA.EDF'Y/WK65:VZ'YPSP+N5O*@FA$3+YJ*P_U0O!^JQ-Q1'6R?+Z,
M(=P.IO;U2[%%D!HE%HCW8;@3$8Y*EM:7BQINBY11#6I86#7<B8A])4ONRQS"
M&S7<581-KS[2]69_LW]HJE\5IPU"3\X[$5'$1)Y^3M0<%')B.JS\Y >NB&!B
M(A\\)W#)4J=34FX-P"LC>$4$SQ*YQSG!JR4U!P"O:L,K(IZ6R'7-:?&@);7*
M63Z I>SUOO0)H7(C*Q?5Q2^5JT<E-OTB0I )4R-6N\&N;&MV3F^GFPM*Q;MU
M.8$O7(K>=6,FP\L7U\9TZJN;V%Y>NV3F4 ZSAM@6KT1]2#)3P/WH2H-6237.
MP4!DA-"(P&;"A M1$=J6VAU :+41&A''2YC&(2A"6RU)*6?U#A":&4(CPG0)
MDT-$16A3ZL@BI,()NI2\6@6G;0ZXV%O>>]#QCG#6HQ['4I=7OGF^R<M1_<@K
M?G3(X[+A>40+]G*]F\WN.I_#_CSZ"S')HYYN:T$1S(P8J.SM!V#0;\%>"&:S
M%2\1!/]+;$O#SC322O"=TW+[4WEH%!$C=8+D?K68S48^4(N P=1J,9M=?_57
MBT>ZWGU+7&30Z57%UK?#ID5_%W(:W,UB'R"54F9U)[O2H%W2Z:X56EJI$,"R
MV!R8)<!@=;EF ,MBQV"& &.+PV45SP& Y0&P++819@DP6-L5PB=%<T*[/,7V
M_K7=K19 K;ZZU:<$68 L0!8@"Z@GFMR2?L&.KL+23EY^:\21S7N7=NZ)/6(N
MS:[_>HEM4S>?G-7W7'1K/[89TX^]OKT*.++-#[ 1HD9XZT4<K[QWI:=@O$%%
MGQKA+>*HW[T+/T7B3?X@PTIVC? 6<4COWG6@@O$FPK[5(UT6NM"-A4LT<&?S
MHE_$:<.9N+.^\,"A!<0%$!=Q4G F#FUFB .7MD:(BSC(-A.7-AO$@5-;+\1%
MG#Z;B5.;&>(JZ-9FM$:;<&DYRL5-MMH>Q]TM*V(!<06(\8 L0!8@BYK(XDB7
MB_Y%F']'-(1I%_ 3\3*)'+1PZ&>N13$TFU/GB94=W,DV.@63*S"<018@"Y %
MR$)D64"Z4656DLJNH;)W[2CQ81VAJT8K3VCH.4*WB]F$V'>/_%KG;N$Z+C;9
M)LGT(=(S92"U^WVITX7C9ZN/NL3G:Y2&NI[4E16I)9=TOB&@+CO4]1.?B%&B
MKI/[LC206X"ZRJ,N\2$6)>JZ3JLG-=LE;4R#=:5*IR$)3<+$)U4D(:$OKU=<
M!$?WZ'&7^!"+$G$'KFY]<)?X=(M2]1TXNW7!7>)C+TK5=P*[N_3UQ-*6WE?T
M#9X8A+_Y_%'3G[U7>^K<QEAGEKQF2\@AMOZX#V?SG<?M73S?N>W.4GI@V3P
M3I6PBLD<6V?C*4%89:%3;"ZI<*F/[-('4)$C3,%&+WRRL8'FV':1]8C<*7$(
MPYS&RL:Q((+)#QK$+"[[J)O85'5Z.86*2V;T,<X'*NVS OK$1,UZ- E$!R:;
M!U,A(M7 #D7C_=<OOYWL0JS9_"GLY#__$TYF_I$_G=F^W]7X87W#H [PQQD%
M'K*:#@5O,'ULV-:/]41IYRN5& :Z_WK[_=O>9X3/?*(8<W+FLPVUUV18X7SK
M=?#E=#TAO!]^O6Q\>;@<_M887HTO'TX1-G[@I;,ZB)+-M$RRU?%/:$J\453F
M+Y^0/X_\6Y/_H;][-<7TOSI!'\.&_->+\"'G,,A@P,=WYS>Z^>?Z&9KNS U,
M1U(W#=TDC8EAJ7]N:WP?@6L]AM'49BKW;ZZE;D?8?O@CH5.MK+/YJ"<\=L7N
MA^NIZ_;'":S7F*DR1EU6:YTQ\O-'?!97Z&':;ZL!;W$W2C7[_-H=OU=*D#V>
M-\_[/$Z;,E:15(E@S^A2'>D=('2"7-UECPU^Y N;_H*.[W ^-W2J$>_FKD4,
MHKJV9>HJ;<*UJ7Z@BE5#H\7$T36=BI<=130I0D4&^W1^=WMQ>3NZO$#TU>CN
MYOIB.*9O1F/ZS[?+V_$(W5W1K[[=/US^2J^[_OT27=_2]Y?HW<W=:/2^A":_
M^V[BA:930R-1-E!+9"T<.I).X6W9"C^O0.H1A_L-OA+D_A%3)G[%TO5[9X[5
M]7M/[5#+R7D:;I>2Z7:/5#JST-QFO:R5TN> CU/@ E^R1 *_YQWE)\&3L]//
M'-:9%]VW3?H!/F_L4Z$C1GGWD3'2-%[392MQ@RE3,@L^BQFV*>4@_S;ZJS'5
MK@3-Z*=3!Q$*;0W]8V$2U&I*GS^2V9G_EZ\'LA%?J@/, 2$E(62DOXB*CW+"
M*C7:!I,!CQ3@48 L;$FRMBH31+TC:@5$?2RB!E8?C:C+9?61YD/#X1J'/WCO
MYOH!'*X!U1MR!1@<K@$ RQ5@<+@& "Q7@,'A&E!%,>"3,@DBBA%V:C9M.5(7
MMDU,=8E<&YN.@3F L/:?A>.RC(RJN:YQ9V9E9FG%;N1^8B?>'!A"[#N7SA'/
MK=G<)E-B.OJS?Y+ZE8>.<Q\<8X8-KPU#4QMOD/(5ZR9#U-#6'3H1O%C8].][
M.NVT-*HS[A['^.4P==&1E$$1J8=A,]FJVZ@CXD+B+8M5Y$)/ZO1+2<.-6.<!
M+@C(A5XS\4;**G*A)74[12RT@%VH-!<2;^^L(A?Z4K]=RK:@.';A2)?^M_!2
MCR# +B5;E)*:M6 IC#N<+&DE)'X#]RN-Q-M10Y1&B+[(ANR*4M8"W2NVMRKG
M!1XOIA-O=2T8T\W6 # -F$Z$Z<3;:(O$=*LK]0>E% D 3%<8TXFWZ!:*Z8'4
MZHJQ A6"Z=0;=(.-RW)WZ:N=/[!'-^T.JIU-?K Y-VQS;@<VY\+FW$BAP^;<
MS>9<\M=Z4RY[6</-N".*^M]^O;NYN'P8<3LD#SZARW]^OQ[_&Y709F]''A\\
M_05]LT)V7B'FLO-+O'3EH]LQ'.4U%+A?>/#*VB0H49+91N+\3W;:H]D&,28V
M>3_F@%KK;SPRM&10],8!Y.T:2+S7[ZU6Q%E!S[1L.P@<! X"!X&#P$'@(' 0
M>#$"?W/O:;8@2%&4(9V0P_JU+?C]^U&'JKJ8+0S,RV@GWI9:*XB 3@"!@\!S
ME81P!77>&E1_=4;IIZQI5@>AI:YKE26E#JWS()[EW?/5O4T>B6T3#8U<2_TS
M;2&L [I\<.$0@&"U(7ANS6:6"?@3:%:Q,D8L4."/SWIQORJ(&])FLT05; ">
M $^'X\EB&T( 2D5.;O; !F8]  ^ 1R;P*&>OUB'8@]DQ+#C'L-C>&46PU@Q+
MCT<E<% 'H Y '8 Z '6P5QW,L:XU=//8]0' (QP>:G ['8 $0 (I+0"1%!#A
M8:VI96C$=GXN'215RXJ M9Y2PS:U"T-;C\CA1U5#( ? E;DW,*,*U 5D ;)
M;0&X*@,N4%N K)S64/!<=R'_"J"5/;2>L&ZB=ZS"ZGN %\ K:WAIY%%7=3"*
M *W,H47^6NCN4DQD02I8S.7!;]A6IZ@E>_6+4A7YSF_UO[0G=F-4V<PXY6!/
M5<W6SE%)NE\>MM5HR7^,5H4-+SD=6?%,RV3%U88ONM-8[XKBJ_??"$L<"53?
M'+&Y^&[]3?ZA<[=P'1>;C&U153?_2VQ+P\YTI^"FM^0LMS\=7&DSVR$6%&LY
M]_JM@K*"07V0%]1#"LT&(UK>+0'I%4%Z)?5XNYD:W-[6PCR4^+[2R6?*0&KV
M%$ WZ/&D4)=S@?I!2OP-I /* >5)4:ZD1OEF4^\]UK5K\]Q;82X0\:U!6Y+;
MAQ]E#+ _.MBWTL-^DV<8=2Y=D120^LKAYT$  >I(@+WGG+3;J1GP0%RLFT2[
MQ+9)W7*G.+@'#ZSJ2*VN:'Y]XA-^ /2%:OU.-.8+T=9R3Y&Z+?$=%DA-CAE[
MN':<!395?B2(31S7UE5V:(_#X"(AD_#S?;QT,?1#=Z=38F@,+HC,YH:U) 2Y
M^ 5"%D(JBUZL0TCSB%ZP2QFRB!8\JMA;#WM8HXQ?-OR!;>\0XRO+?B2ZNZ#7
MP!HP$"-'8O0+($:4#7Y-B]^QL2# BK(Q>NRLZ#2S8$7R($E>MF+_4K-\^&GW
MP(IC8(6<-RO 4  EA*/$WI6W3MA)\(DY<6CT)0=^Q%NYZXNV7%WK13MA*;*7
M(1'GRB=D2(:!&K F@@+WZ*G2S8(JJ2,ZP M!47H,O-CO9<5;O@5/*:VG!/M3
M8L:(^%I,8X(=PK9PS>;4 <%,F!#V*<V@1N\(VU@9OB<,+(L 3Q3+X^IFLM";
M//PQU/ZS<%QV0V=L1<S^N:KAFN8\H&@>V#9'1W?)B-C/NDH\(_9 5.O)Y'?A
M]@S\,6 -J%4 2%EJ-9-5T821 M"I0)D*4Z93<B"A+/J\D1'?%"XO6% X'SV!
M,ED\S2C. +8(J%1A*F62%)@F#@&\ =Y4F#>##,(4X(?!3I>\HQCWBXFAJ\AZ
M?"0L$,;VM:C>8>&;S2X0T1!1Q?2*6+!.GIQ,.\V_@D0 0'^>Z,\D SG;W2H
M?8!^$=!7Q-N2\B;T]^\[D=H#\7=/"P'%HP=_&?&D@Y3^_MD4H%[,)PJ&^FPR
MY_/96W(8 P92O]<%%HCY1,%8D$U@-/_](S 1 #X4P0<A-XD ^ '\18 _[XT@
MA[LUXA?NA<T>,<,D5Y9-:!^1NK!M8JI+Y-K8= P>;$-X':>#2 DD*8,M$1,@
M^VQ)O&A]YL&$J/G'C>4XOL8Y]Q7.F.D;K^E#4QMOM,\F2> +H=:)C/$+.%Y
M%M"F )"2M&F_C.)0H$J!*=5C2B:1W .6]8$UP!HA6;.W!D@_FTIKV<0!"J90
MO!(C'4D9B!9:AGILPIF?3*+*:>('8'? [@A)E_UV)U[\62CHU\1>P'Z.F(&*
M6^(B@T*I]I$(*D1;(W;#DR6]]?P%.9:A:QP!30FQ_]Z+JFEBMU[ E;@YUMBQ
MO<&V'ZD9.Q8,[K.)11RG$V)&J9[;V,TJ^GW HF-C$6ARP&#9&-RGR3,)@B<,
MVX :!PK5AT*#3+9D'Q#/ 3H!G6I$ITP2"3**\P"U@%K5HM;>M>Q!)JD':6(_
ML8@4;]E:[DJ#=ENH=>M0FM4\^ E\HGR*EY, U-A/#=B0$C/.\X^%25"+0I-A
MZ^B"/2W*4<U:3 Q22143W?R]*F8G74//N<H7+^QRMW =%YN,MW5P>EO'Z_0>
M@,J_UY-/G;SX%+73=&H9M-F.=TN@4Z7I!!:),JB;FD')RX_%-4?[ZRW)4J]?
MZB'W0"&P2)%\ZN7"IX/,T7XZE5H)&J@$5(JD4C\UE0XMDW8XK=K-GM1LEIJ0
M"]PZ;F[M7^P<I"=7AM77#B1:.[A<*K5[3;%72UM'$$@ JNU0K=]LIJ9:ZL)N
M!QNP#:^4MB*UFF+5]P1F'0NS]A)+CB96(4Z>W&U)2J?4&G'IG;Q@G(Z^GEC:
MTON*OL%4$OZ;[="8]V2Y.3\ '=M1L%7#YOQYGS]J^K/W*C0F]_/.$W[>N?FF
MD;R-_J/8RP"\5:I?B;U*VFY.-D]?/9P*C0V!#]-?3I@&)X;A#_;ZO3/'ZOJ]
M@1T*BT?='+.?GNS*O-G\Z;7TT@XA[XQN:L3D F:ZSQ=D0(X5V66W7X_F_1@Z
M&%2*U-(I:XD%%:$/E?PTX=Y-!<C;39!Y=#K(0!327=JH28 <D[.]T6E  B !
MD%!_)&Q92X# ,4( E $@ 91!\1#((4,Q%MGW0"^P"NSO>05]<,3Z "P#($$,
MRU"U.D/(7R%2^C_EK^G+%\\V=;KE4"?VAA$!#>^>K]8YK8@O</MV^1B-,^ J
M2UQYF6E'#RIP_P/N_SK#"K!P[%BP6!80P !<?Y@$ A)@$IBN#T<V\0/[N:'I
M[8)E]8$!!;4)!A0T F@$T B@$4 C;"-PCG6MH9N@$HX="&IPMQ7 X=CA &D8
M (8U&(+;6GXN'0ZP!@-K,'4+DEJ/R.%5; IE5T39Q>/6P%6&T7!&U9\+& (,
M@2H"&($J @Q5&D.J5UX)0 0@2@^B)ZR;Z!T[^/0]  F E!Y(&GG451U,&H#H
M ! 17A5&3 PE7%BKYPD+VPMKW["M3E%+YH<I*+4_3$'0DM3[RS6UP@X_4!K-
M5J,EP^$'L8=84*SEW&O1*IB] ?6P<PDR@7IMSR4X2J174X^''1D0#]QE'!G0
M/CE3>E*G)59M6&&Q!GH\"/6P:OZ'0SV_BI1*'U .*$^*\K!"^_%07GZA_5:_
M);5[8AV3"+"O!.S#2N#'A+TX)?!9&>*VU&^66H48&" L _:6IF^'E::/1P$1
M2M/+G;[4:Y5Z%EC(B!]9%7H10;\7\V%5XWW,%^.CMP92IR?6@0J0OQLKS'#M
M. MLJ@19C\@FCFOK*G4!Z#,I,"1D$A>ML[+0#]V=3HFA,6 @,IL;UI(0Y.(7
MB$X(J1;"3G]7-J>_*_F=TLPN9<@BVL7"IK;TGG;(TKREKX<UROAEPQ_8UFZ)
M>_=X9=F/1'<7]!I8[@5BY$B,=@'$B+*VKVGQ.S86!%A1-D:/GA7=+%B1/!Z2
MEZW8O\  R\JB/E$P5O3R9@48"J"$>)2(SB-\U^_Y282P) 6P6,-BHT-*QX:@
MX@*  $ $>Z)0 !'0L$!>^JL%8SXQ:TRP0]AVC-F<F YFOB*L 0M(*="YXCU1
MK/EMIUG.6NA0^\_"<=D-G;$5D7/%50W7-.<!1?/ -C(YNDM&Q'[65>+-C1^(
M:CV9_"Y\F@Q38& -J%4 2%EJ-9/8:\)E0]"I0)D*4Z:3!64.2-\NBS[[4ZLD
MN0VIX((^43 "91*JRB@1'&P14*G"5!ID0:4T">7 &^!-=7G3E6/Q1DP*U, /
M@P3W5_&**\LFM#=(7=@V,=4E<FUL.@;'"\)KJ$'X M;9P."("9!]!B>318/D
MX8NHJ=&-Y3B^QCGW%<Z8Z1NOZ4-3&V^TS\;.?2'4#I$Q?@'O#,@"VA0 4I8V
MS63:FS!J :H4F%(YIO0R29LX(%@!K '6",F:O=4Y>O'6AXH)411,H7@%0'I2
MI]\2C$VPUT(X\Z.4%9\ NP-V1TBZ[+<[\=*QA()^3>P%;*%X%9*X)2YBI\+4
M/N80^[@,(75*[-8+N.86=O#&<1JL8\'@/NM74I"$ZKF-A:RBAP<L.C86@28'
M#):-P7V:O(QJ-*#&@4(5HQ"H<< @8! P"!B,++8BMZ5VIUMZ+E#$$:&U#CD!
M^JJ$/LBI?[6 _8^%25"K6<K1M*]$UHIQ+G7^'*:M0)JUF!BDDB2.;O[>Z6C$
M,5MYE96OY?FWH@!:D&8< %713FW)B&01AWKE5Z*^?B?OB@)N09H!MJO=[T<<
M%)9+C?O#S_QM\3-_NQVQRM:+ FA!F@&V:Y=D$2>3Y50ROW:G#8L";$&: ?S:
MY9>2FE\BG'/<D3HM&0@'A*L.X5KI"2?4"<L]25'$.K!3%,P+THRCI-[>)/Y^
M.S7WA#C:N=>2Y$$ES%V!T3>@FZB6KA/-MF*F8O) Z@S$JKD5&ZW!H"%]/;&T
MI?<5?8.I)/B;SQ\U_=E[%1JP^WFGT3_OM'?37)DUSH_1L9<!N*E4"1([T,BY
M]T3Z:*0:V*&C??_URV\GN\/8;/X4-@#^)QS#_",_E+E]OZOQP_J&0>C[C4&!
MAZQ"H<$;3!\;MO5C'23=^4HEAH'NO]Y^_[;W&0%A\N'91L7.T-+Q\1&%NFL1
MKJ2S]3KX<KH.!M\/OUXVOCQ<#G]K#*_&EP^G"!L_\-)9D?$440B3K8Y_0E/B
MC:+"\G#\&/+?FOP/_=VK\++_U0GZ&#;DOUZ$#SF3718#/KX[O]'-/]?/T'1G
M;N EB^H;U+0V)@9E_;:BXX\.A+HQFMI,9_R-*HB3+<#_\$="9V7ZL+$2'KMB
M]\-G;.O8?'5ME%Q?P>#D;,P(R(XU/V?JC;H(GS_BL[A"?XNSZ"W2OL9E,+;^
M:OS">.NWB2L2'U^_G+#E;"HG7T&MWSMSK*[?>Q)]U$T^!.&4W]6!:74I[XAN
M:L3D>N)E#83/ 6U8D82*_=Y(WH^A@T&E2)U(Y23C1R8L((6\?)W,DTNV>6TR
M!\'833GA8<7FY-/>;!,0. @<! X"!X&#P$'@('"Q!!XY2<T'!#ED 8<+.:Q?
MVX+_/-D'R4!@Q$\(IY<?)T1 )X# 0>"Y2J)JVSE62W=*_Z<BE;I80MNF3[<<
MDQI[XU-E+.^>K]:IXXB'<WS#?(S6&="6/]J\9,^CAQK,%=Z<*ZRS%@$A@) P
MA%@LM^[8P0'3"A X"!SFD7F7!:B"H," )C.@MPN6&PL6%!3J40D<U &H U '
MH Y '>Q5!W.L:PW=/'9] / (AX<:W-0(( &00,('0"0%1()[R'XN'22PUE,E
MI[%LFM4O<FL](H>7L"J4B1'%68];A]</7,,95: N( N0!6H+P%49<(': F3E
MM(;B56(#: &TLH;6$]9-](Z=/?L>X 7PRAI>&GG451V,(D K<V@17DA*3&0E
M7!ZLYQ'G<98'_X'-!;:72.8GQ[1J?_ZYH 7T]Q9^&[3""^/+2J,EPZ$NL8=8
M4*SEW&O1:B&^ ?7P\O090/UXCE8Y!J174X^'UX:/ ^ZR#CCI2UWF%0"Z08\G
M@WIX5?9#H9YC;=L!H!Q0GA3EX?7/XZ!<@,,^!K+4$>S$ 8!])6 ?7H@\%NR%
M.G)#D>0^>#= @+ 6[3OX8M#JIF: " =?*,V!U.R*=;!:W4^8KP3H]V*^%XWY
M_.';/CF3^VVIVVL*AEK(34X=?+AVG 4V55[YWR:.:^LJ]0MH2RA<)&02%ZWS
MQ= /W9U.B:$QN" RFQO6DA#DXA<(60BI+';.H=>8LF@UFC+]SW^9UY'T[%*&
M+*)=+&QJ8>]IARS-6P][6*.,7S;\@6WMEKAWCU>6_4AT=T&O@35@($:.Q!@4
M0(PH&_R:%K]C8T& %65C]-A9T6YFP8KD09*\;,7>58=.LP>L$/.)@K%"SIL5
M8"B $L)18N_*6UO)@A.'1E]RX$?,(VL[HL4I:[UJ)RQ']E*DE0E%,HS4@#D1
M%+A'3Y5V%E1)'=(!7@B*TF/@Q7XWJQ.+&. JI7:58(M*S"@17XUI3+!#V"ZN
MV9QZ()@)$P(_I5G4Z$UA&S/#MX6!:1'@B8*Y7+UR B!#[3\+QV4W=,96Q/R?
MJQJN:<X#BN:![71T=)>,B/VLJ\2S8@]$M9Y,?A=NT, A ]: 6@6 E*56,XDK
M)XP5@$X%RE27,IU,@LX'A!+*HL_^Z+34ZBA (#&?*!B!,HE/9Q1H %L$5*HP
ME3():Z<)1 !O@#<5YDV\6+>8%*B!'P9[76)&,>X7$T-7D?7X2%@DC.UL4;TC
MMC?;72"B(:2*R21'(/.M++33_"O(! #TYXG^>(D A>Y7 >@#](N ?E>\32EO
M0O^->A?=3@? +^83!0-_)F'Z#/>>'(9\J/(BZ!,%0WTFV]9SVEUR& /DIJ3T
MVT #,9\H& TR228H8 <)S 2 #P7PH9M)ID#6VT0 _ #^(L ?+\I?JE\C?D&%
MJFWW6!VU0GL4"&5LA4^" 8[PF$CR9IR<75DVH7U$ZL*VB:DND6MCTS%XN WA
M=:2NX%A)U' 47D;PD';DK%<BFB9@6G,=A"E*.TH"U3Z#E<G^]^0ABZA)SHWE
M.+Y6._>5VICI-*_I0U,;;S3<)A7A"Z$FD(SQ2Q6]NSH 6Y1V@-:ND3!%:8>
M6CN30'/"@ .H[%JA6I1V",BN3&+9!P0V@&FU0K@H[2B':7M+IW0SB9QG%#PI
MF';Q*K.TI&ZGU(!\A%@++&4'Y,N)?)D$\--$:H1DF@PL Y;EP+)X^0$5) PS
M3:4FR<0A#6RZB;GIYI:XR*!P*BE8U/"&EMY[_E+&D5,3R]:('6P%<BQ#US@L
MFA)B_[T7-2@=N_4"KE2^[HP@B!"D&4<"S#T6M)=)Z83D,2JJ$3=6MHJ+)T M
MH!;H? "FJ,#<I_,SR4M(&.$"A0^\JCNO,MF@?T!L"S@&'*L[QS+)SL@HJ 5\
M [[5@&][E]A[F21LI EDQ6)7S-7TEJ2TQ-J;$0'Q$H)20++R218O50/XLI\O
M5=O;5%H\ZA\+DZ 6A2;#5ME!J980:H>V FG68F*02NJ=Z.;OU3L[62IZSG7D
M>.F@NX7KN-AD&*BGSUP2H 5IQ@%0_7L]23;(BV11^YNGED&;[7BW!([5CV-@
MN]J#?C,UK9*7PHMKN/;7_I*E7E^LLG>B %J09H#MVB69G O)#C)<^SDF5JER
M48 M2#. 7[O\4E+SZ]#B?H=SK=WL2<VF6!4M14&Z(,TX2L+M76KMM](S+L,Z
M@@>RKQW<6R.U>\TJD+#,V ;P3Q3^M5/S+W7=PH--W89L2EN16LTNT WH)@K=
M]K*M$\VV0GQ$N=N2E,Z@"GS97RN1OIY8VM+[BK[!5!+\S>>/FO[LO0J-Y?V\
MT^B?=]J[::[,&N<'ZMC+ -Q4J@2)'6CDW'OBZM%T"%F#?-#\<L+6QHAA^!U=
MOW?F6%V_-[!#A?2HFV/VTY-="32;/[T>R[0RX5W138V87 9LN/UA#8QJ1?80
M[M=J>3^&#@:5(C5&RDG&CTQX%#SR-C:4$K_F,8KFY-/>T#4(' 0. @>!@\!!
MX"!P$+A8 @_.)7WO/K\93X&)AF']VA;\Y\D^2 866?V=L_3RXX0(Z 00. @\
M5TE4K8(1\E=GE/Y/Y66/ERVT;?ITRS&IL3=^5,;R[OEJG8>*^+*P;YB/T3H#
MVO)'FY<Y=O10@[G"FW.%=0H4( 00$H80B^7I'#LX8%H! @>!PSQ2A)W'90L*
M#&@R WJ[8#EV8$%!H1Z5P$$=@#H =0#J -3!7G4PQ[K6T,UCUP< CW!XJ,$-
M4@ 2 $D82%:[>@ ?@(\P? 0WHOQ<.DA@H:=*'F/9-*M?V-9Z1 XOAE,H$U.5
M*@5P50U<PQE5H"X@"Y %:@O 51EP@=H"9.6T@.+5= )H ;2RAM83UDWTCAU*
M^Q[@!?#*&E[$K]$#V )L98XM7HY&3&0E7!\\XB,HL+G ]A+)_! *I>!#*(JO
M396@%G=^JN!U :M]Y:,Z33GL? BY(2N-E@SG0\2.M0B*M9Q[+5I%M3>@'G9*
M0R90/YY3&HX!Z8*>J; ?W$K860GQP%W260E*3VHI8I66%A9KH,>#4 \[L>!P
MJ.=7(5,1ZYP]0'DE4!YV;D \E)=_;D"K+TMR&Y0[P#XQ[,.*]\>$O3C%^WE9
M9*G9DX$!P("0%NVIGT\I$%8_/QX%1*B?+[<5J2L<\@LLE0^@3Z'VPZK8^Y@O
MXJR5,Z73ECJ"';("V<D'1!^N'6>!394@ZQ'9Q'%M7:6. 6T)A8N$3.*B=<88
M^J&[TRDQ- 871&9SPUH2@ES\ C$+$6,62F];66A,62B-IDS_\U_F=;PUNY0A
MBV@7"YM:V'O:1TOS%L0>UBCCEPU_8%N[)>[=XY5E/Q+=7=!K8!$8B)$C,?H%
M$"/*!K^FQ>_86!!@1=D8/?;02*N9!2N21TGRLA7[5]Y:8AT_+2Q&C]U6M.2\
M65&@H=B_$@>$$/.))9B)Z)3#=XK2]Q,.89VJ?%P4K"BC<;'Q-4O'AJ#B H
M0 1[HFB6I2< .+8L"R2QQUQ&YM.UQ@0[A.WSF,V)Z6#F0\+*,*AB4,5B F3?
MK+==S@KI4/O/PG'9#9VQ%9&?Q54-US3G 47SP/9".;I+1L1^UE7BS9@?B&H]
MF?PN?/(,*ZC &E"K )"RU&HF$=F$BXF@4X$R@D\*]U%FD 5E#DCU+HL^>]?J
MVU)7[@*!Q'RB6#:GG4D *Z.D<;!%0*4*4ZF5!972))\#;X WU?7AVIU8O!&3
M C7PPR 9/F84X\JR">TC4A>V34QUB5P;FX[!483P&H 0U(#5-S!#8@)DGQG*
M9"DA>5 C:L)T8SF.KW'.?84S9OK&:_K0U,8;[;.Q?E\(M4YDC%_ 9P.R@#8%
M@)2D33N93(83QC) E0)3JL>43)(I#@AA &N -4(N&NVM[]&)MVI43."B8 K%
M*R'2E_IMT;:QP<:,,LS/?B)URPI;",D:!1@CW!-%,SWQ\K0J"'YF,D0KLPD[
M+M+$*FZ)B]BA-04'(U*=+))#,^*>Y2&DP8[=^BJLT(F""$&:<23 W&<]2XJS
M4(VXL;"U6)P0!=."-.-(J 4Z'X I)##WZ/QN&65R0.$#K^K.JTRBK ?$CH!C
MP+&Z<TRD0!/P#?B6C&]%KIO';OW>Y?5N)MN@TP2D8K$KWDIZJREUY'X5F%9@
M@ E()@[)XJW" 5_V\P7VSL2,1_UC81)$A5S&(=:O!-D20NW05B#-6DP,4DEG
M.KKY^_1.+^S8R1R/FJCE2=FB %J09KQI(J.A*MKY3AF1+.SXOUR/K:C?&=VB
M@%N09F1ONRI(J[#CU?(Z]R*KT\&['<&]ZN/F%=BN79+U<B%9CN>2 [^ 7Q7B
M5S\UOT0X$;TC=5IB'44C"M(%:080;I=P@_2$$^HL]IZD*&)5,Q(%\X(TXRBI
MMS?*T6^FYIX0A\#W6I(\J(2Y*S.*"'03P]+U]ZSM%S,5DP=29]"N E_VE^&C
MKR>6MO2^HF\PE01_\_FCIC][KT+#>#_O-/KGG?9NFBNSQODQ.O8R #>5*D%B
M!QHY+^R)G_6S\90@K+)3@K"YI .'3,NE#\ V_9CBC5[X9&.##JO-#Y^G?I%#
M&.PTZA;QXX5,'@UG3A-ZU$ULJCJ]W%DI>^<#A<=9D7W:&44J0*0:V*&8O?_Z
MY;>373 VFS^%P<C_A&L"_I$?)MZ^W]7X87W#H +Q&X,"#UF%F8,WF#XV;.O'
M.@"]\Y5*# /=?[W]_FWO,P*4X,.SS:V=H:7CX_,2]=9$6&%\ZW7PY70=:+\?
M?KUL?'FX'/[6&%Z-+Q].$39^X*6S4FDL'FV2K8Y_0E/BC:)"J8C\^/S?FOP/
M_=VKT+W_U0GZ&#;DOUZ$#SF3718#/KX[O]'-/]?/T'1G;N EV_AA4 >E,3&H
M[MPV%_S1@30"C*8VT[Q_HVKV9 OP/_R1T%FI4Q:U]X3'KMC]<!W@W_XX2JZO
M8'!R-F9JC''VG!D)2L7/'_%97*&_I?G06Z1]C<M@AL*K\0OCK0=5[_-8;4IG
M2-YHW4993LZH:+D%?CQ!KNZRY[.7OK3I%72 A_.YH5-=>#=W+6(0U;4M4U?I
M@^D$\@-5J1H:+2:.KNE4OH2*9/*&<LR_4^=WMQ>7MZ/+"T1?C>YNKB^&8_IF
M-*;_?+N\'8_0W14Z'XY^15<W=_\:O=WDC&W4Y.S==Q,O-)V:&(G2@=H@:^'0
MD73>%]T6'CIM3K91ZC&'.PV^%OSEA$V$J#;QG9'U>V>.U?5[3^]0F\F)&FZ8
M]BOW/=#PQ:TS.\T-V,M:0WT..#MB9%&%::_]\XL<[DR[3,5#9X+=M\UMJB<?
MD%L8 >Y=([ #YBT[XN>)O49U /*>CHO>\;CGJY'^@F;TLZF#",6<AE89:/[N
M2/Z73];LA1H[TU6X!,*0OO@*H$?YGRI_,$IKO)$RN*7;RN"= KR+(!>=U[>$
MH1# 00 X*,+ 0;@206%8*TZ+WLV)C5VVCL(6PY[IU(TXIP*HU"SY$CF>KYSM
M.%38 GY91@AD(80L*N">;0WXUOPZ_5PMO_IAR2D0>,C*!*S0]I*EV7V)$9>1
ME?Q;D;R"9S]LPV1KLY>K5?1>KI:DM%*5$<QU:+.NIGD0E ]Y2$51VJ_+CL-B
M40K^[*LUX]4BHK>C,7#T&W(M9!.*,E4W"#)]&\8^9:]5[$S1@@4)=1-9(OC%
M<&?P><'GS=+G?:4?#O*"AX9A_<"FRJ.6$ZQ16S+)_'R_TOR(> \1TID8-#-P
M>>]MZUEWZ*VO+/O"6DS<QX4Q5%6*</= WT(>B.]7 &J+1VV\,HAEH395XAPX
MPR79IFOSF=[(LI?4XW6(_4QR/((6R)[X6*^!DH&%6LOXYOKJ[L$3LW<^]?F4
MMC#=J=0=J9GOGL5XO!8(/\<+TGCU0TL J2*UFRT100JSH[4%NB!SFPK-/__<
MU!">6;1[_^4?@ DJG]UA)TLF-4%!(0]-;1@0<2IBRTVIH^1ZR!:8G\H -%YI
MW8(!*DN#0:[G)A9D>NH\^0E*F:W-L74YI#O.@B_6J9;CBA6Y/E)^AQTMF=0
M!45]]WCE[>@RG\Z9C%,1O"OGND,0S$]EX)G%.8Z9P[.MU,'XU'G>\Q7K)GK'
M(LOO$844VY!G.=A@=@@[#@'3(P*WP[)-DIH>)FB6:')G7G 9ZQ[)AUS(\F&+
M[;D>LPHV2"2<[H\)95&(/7N@GK5262&(!I5DDWB]T,8$>R409G-B.K ,)X0I
MDIM9Y"IP^7YAXCT/2#=E_*?5@04X@":#9A8)"1E"LRUUY5Q+S,'LYV!+\]VT
M">W'?UEY'<LFM$.(O*A3;#X1].Z).B+OQ=LX4E]V[_,MY686.0@;>6^\S"M/
M\.<+VR:FNKP@MOY,6?],G%OB?B$,%V/\DF[Y79+;L'?D2-&\%\Q9Y"H4"^9
M0JC4ZM;!L)4^A3I@//@';^R6/N=VS-G9(,*GT3S#P=#Q1#=@LPC<^0CN#$[O
M)M[L)UBSW66$FH>)023DVE@CX.>6[QF$I9$D3[55J6O@D OB_7MMKF3^L!;Y
M@3Y 7^H,A'0" +*%0S8L,R)YXFW>D.U(@Y:0J>)5<UMS-$UC9H70+2^2O+%.
M8)8$6'[)HB[':Y)S46\8GC++I%^!T@> V<+M4A9%.O*!;"!U0AK(N1Z* 5&"
M@ZW2O4WF6&>5-EBU%N3B%[!( EBDL&23PRV2+^PQ?DEIC5*%H\$651^M^\ J
MA^5-'&Z+#@5K8$)? QM4YYG1:F,J/]8 C$_9= [+-3G<]@2$G)S-[0";N]*@
MWQ21T0#5POTD.2QQXG#3<R!6V=;$3BL51H7.RZWS/(B?VXI4GEO@PO8088Q1
M6#+)X<;(.Z77$[:7?'^8ASF 72)' ]?]!BFLE,/A!BD;O)XID@R5=*MEEM;)
M31Q^;.OBPB&>?0+S5+YY.B2C 6-+#^/Z2N0/K %WC]\=PBF?CO%-V$,/2&5(
M/221H0BDMGM"^E P17J=6S?'2TA=$,3?S"=U827J>T_2!RZ_*U*O"KN4 ;Z%
M&Z5\LA@R0"\K?S?HUJ' 2YUG1U30]H)L[?8 HR2 4<HG>\&7]LU&V(?9)45J
M=2JP&@( +AS 2CX9#5D N+T%X!Y$F2IIL+RST= 8LNV$H'L^&0^^L#U9\S2F
M;*93XC,>,%P\AO/)A#A>#,,T:VVUOIL$VR8U6S9Y)N8"%O[*7SE1\LF+.*>W
M9(_[E^Y.SQ<.A2RQ5^[J,E4J5%_J*9"M!YAEF,TG-R(59O]+;$O#SG1WV8\?
MXRFW/XF(6)A'K2W2#1/]>MEO"09)  <TSU2(H:EY%=L)E_P!)FEK 3#= C_,
MI>H.Y3QS)?*!<B?=1EN84J4S8,U##=CMZIC[.3LE5J-SJ\D2O?//O'\?>N@]
M&+D"- -%E:T1N^%:<_JS^0MR+$/7.!Z;$F+_O5]?XP$P\K(WG.$L$C<HBLXI
MB.Y]#'U9?G?86LU&UZS!D[( =;\K9%490+[@R-]O7K/(^L@3^L$8FRRU.A!C
MJUIY4+:!S]FQGU 'M*9WIL!VYIC253G) %XA3(O [<\[M_SYT^9F_%Y;2/6!
MZN-TW2&EV9Q\*A"9]?'!#R]]L[#5*5M'LAZ9&TXMA[N4T-S ; .HJ2'RUT*?
MS^BSP/,N?T[>RN)PEGN\9/)TQM90I<*UR;TO]GLF=#HSOUR)/-VV;ZG=K8"O
M .@M'KU9G-^2)WKY@0[=[D!\]%;-T\VU=INE$J(YZ-&V9EO'6X+I$B?LV<KB
M<)>5J*^HI$>4VG>/V9)?S$,O *R%@S6+PUOR!FO*(@:"Q>?K/+6Z(/QP4^\L
MEKE?8I3*%PR34%YI6$).VCG5E64'><\KEJQ@D*YT 43GRWZ(F*@-2S1).Y?*
M'K5RJH(;,(<28!%0-UUL/ND3@T !.''H'I:,<_#"W_5:U(>4T^I4(.D&(%L\
M9,-R.PY>[<L&LNT*.%65GDAEDA6VR0330R+98)8*S(=Y(]<E3MK,6^HB+!\F
MHU2P=2)$=ODP QEB7$?-B/PSQ%IA!40RRA#+G!&*U*P"(ZHVY\LY0\S+P8<,
ML:.X,V2(0898N@"[3G7$'!NLY"6?C;%E(L.B2MLE]HQ:A(F7*F;R4SVA+J8H
M8<SV(15=^ ZN![(2.8M>^C!P[LP;*GPF^PLJ^J&I\0,3WRB)$;'7>.-!B+SI
M&+!;^/)1^Y!2+EF#=^]J4D]JM5(ECH#K6YI%"Z:,&;K) Q^J333=97,WV_I!
MY0(K3 *8L"PJO 1CFS=4V%0?G'-9IRO1WI%:[198*8 GA6<6Q5RRA6>O*PV:
M0L(3IE1K [1Q3?A4"@R0P'[H(15=5A0/NJ*'4[S;D@9]"+H#6D/0>DC1EIS0
M.J!HK4"%<9@?1<R/)MC\$V%5)7.7%>R!!3YQW,\LRJ<$W<\O5-1L621=5DU/
MZLM">IZ S,*1F45UD\R0*5,3E"Y+$>9$)<V)P.B(ZV-F<;!-T,<\B-LM66KV
M*K!C&X!:.% [61Q@DQE0Y9ZD#!3Q@0KSH#<R'Q[725,&JUT*)DD IF=Q=DVP
M(.U:\JL-".E*X50@(Q+06CQ:LSBE)F.T4@-5 2<*IDL;VQ2P2"Y^03]T=SJU
M#"8,1/$V(5-L//(J.+.Y82T)O8E-#.P2#;D6<J;8)HT)9AML5&LV)Z:#F<C!
MF F@'C+)>?#A\>#)?&R-\<N_-A"YLNP1@\ 7AH#S  #2N;:="N@.0'+Q2,XD
M/:)()"M*3WPDPPPM(E)%+=F,0M!Q+?5/:OH>"?6+GB1D$BBT4WY(H)-%(D4P
M)'#M. OF M\]GG.YCYC8TQYSK_13$1\B5[6#:189%*EA>@0GLHDU*3O$^(04
M*@@>9/,8LKD2[%"MBA;\_^R]67/;2/8O^#Z? J'JFK(C2)K@SK*O(RA*<ONV
M;6DDN7O^]Z4" I,BVB# !D!)[(?Y['-.9F(C 1  L9&$HUR62"RY_,Z:9^GG
MV+_&R<T]K'^-IVB!V!B.CB!1I2:)_$@B]XY._1S;VF1$$5BKH)WJ(*YBDK1:
MAMTADO0:;#79HM[*-WDA:<]$,,#8%]C/)CHT4=#6TO.D6$46<20,.;?S:XZ;
M>X#-K8;< _]BA>47X _4?61:AB);9(9?3+29_P//E5\U65WCHE_Q6O)?@/16
M< ?\CN-5M#69\19;NI:.!8WZ=:!D34_9TM,@BW"78Z6GX2D(]-,RC6>\[2\8
MQE1Z-YBQ3%QDT*HAAH.;6L97Y-QFD$4XS4$\XXX8BC[;;2#-.8F7.S&.=9AI
M/&B,AT=0$K0FA>))(8M8G6,BA=XQN(C.UE">QI:C@F0)3P3>JM&(H+FPHCBJ
MQ6OI)TR#K?@>A?$1L=/$!GFY\9$BU/!NO]&O#U)KF%.8]P)@+IX$S'MB0TQ7
M\JLV."LA& E\7$V1F#,57WS^6P)>4ET'61<NF^EK;%*3Q$/6#V!)^1NS1;"D
MSJ@Q$"OI SM6R7O6A#((5%&/GE!Z(+O;C4$_55Y6Q61WZ4;M >M!/]A3F_YA
MO5JI!$._)17;.LNJ;JX-5B@-Q?A<U5\%16,;#UM8UZVOGWS:3SXVY3YG!H'"
M0[![ZM;47S_YM)]\;.I!CED_7T$S1:N>IO:@0B M8?Y@[LO22@%U 9Y:6_5'
MX"',(@#,QL(="((?)&4-(;"=*UD>[!QLY\K <9A%_%06<.P '*MY"'N4.JG'
M2>-1(7.*>]*U)K5./1U+M5E@*E!>&FO8=//25>KWU>\[C??5&K;+QS"UD25B
M*!K6X63Z-:_"Z:TDLS+T%<Q\0_D<'KVMT&4GX)I3)VVE]/#S/(D?!L6P)>H#
MMQM]-N&0X(VSG.(<=QP.$VUV;8-A8F,A9:I$K9F?"XHC0S&'0761$G6$*Q'&
MGD[)XPJ8FG55M3AR;T96NJGP,)*506QGLT?.U9+PN'A(4$6J T7A%4<)\(H[
MAI$;W7"X1A$L)5U9X1PY2HWLPG6\H.I*!PK'LH#]N5?-YE;1%B/\_*3/-NPK
M^ 7U"?Z+_T0TC6AJ"/3CAF 20YEOGX3: UO1]WWZ,%->V$_Q^K%O/=P=)!VC
MIQ.[!Y2X+A^W.K/G^T:9H&N5DL'GQP6A1NER)6D;=*NQUN.2 1\#7<"%SP:M
MVFW0XR%K04R"Y %: JMXJM'0*2JYN6\.+C<M^(#6&FP!_CY'SRG);H6 *V3[
M8/<$695,((:[+Y?_N-B&>KO]>P \[4\HLZ ?<17,_[R;QWOG@5X>PU=7\+S$
M5N&\#UC,FX;^ZBAW6U_)1%6%NR\_?GZ/?$<T%6RM**P/IWIAY%"=#7#?S]X?
M%XX2>S?Y<MV\O+^>_*,YN7F\OO]3D-17:6/:D7(87: 1W\0_"@O"5K&#3(3K
MOK^UZ1^X;T<MYE]="!^"EOSO5\%+3DDH@P5_O)U^4[1?SCMFBKE2)5A)1</.
MDLTG59=_^24*IUZ'GTK"PD"9\)NERQ<^M+_RE5! ;"@8@\$V#Z_8_M )U_!_
M'+:O >+WD3J7@&"G*,F #C]]D#['W?1"V)[#A+9HM@BV]_09]@EE/F5V%X*E
M6/A&_AO?0+@.UFRR6JD*\+;;E:43E<B6H6N*#"\&(=^B]LG#^LE49@IL&18E
M>]K#[#*?R8_;Q^L'0*XPO?UQ=?WCX?H*?WJX_?;U:O((O]Q\_3'Y,?TZ^28\
M/,('WZ]_/#Z4,,QW/S5I#9H,F;WWO1V11I'(8+ %/Z:Z_%@OX:5R/'/#?XAX
MN3:Q[:)Y14S94%:H (%R=2F9"FUE#\),LVC,XR,\^%*E]02I,MCI=<;PYT*
M&Z45\AMC32X"M9#LQ1AN*V!1^$26WC<A/UC  _ 2$00K67ZVE\TS/Z1Z>]JN
M4N$N>0FZ3 &O!%7&GK1P^T*,%X6\>E6/8H;@3KS -WO]-MT!!5 TUWK':F#*
M'R>W7]F/LX^";J!R)]A?39E&:'_]7E! *028J=(KZH:R;JQT%CS>$E"'Y->S
MRU0BS6B]8-NCI6YL51+U1%[:T6 M8)Z(T=0!N3*&(+WJQB_40N&2V5JV8,0K
M \P9 U:,NHLB*&*NKPU&$Y[G$% MX/9?Q#)!:Z)"T8(%>5%,I)1W%]/)XS\O
MWC<8%>$0#8R# G56XCI6@UZ/Y9#!W)-9M#S<QS^\>,_N9"?33S2CH G+V%SH
M2P*7W3P^_OWBO7^%9@2]#<P3!ON^GH-=MC90YT8-!LMUH<\,EH8N"BC36R^W
MEP:SKT!1V+#V.2]$I0T,[&6&2QM.*><5Z&4:+J:Y?@*%ARR? !U\!/ P%7ZV
M='JA2H#MP'"TYB^R<5UOK3+!7#@W"1B#=P,7DNG9.#LP 66)9,@+^LL,]T-G
M7DNX3%%IG(( \H42@*)16OO9>FC!("7E%4PMO&VZ  NJ!43J^1IV&?VF-L$1
MT*BEV7_68(\18QM$.!;/Z^ U#^MGR1"^P67P(O(FP6I8GJFXQ.5#(FC%]L/I
MCQX,,0<N,= #889/V@W.H&2[]11ZN0UOAD 'UG3ZMJ?7/UI)-76Z^M+>U49^
M(URMU;6U: A?B Y[+?G)4*?)+VR58 M61/%MQ0]8RR>]P;8$1@%6RO."[L3K
M0@=^UM1?-=A)TU;^-L(=K"41_J4;ZDR@L4L:I4*8X=]9?7U8^V_6S,-^/7?8
M?+8!PW&VV@'*)7 XQ5P(_U00L\)74X4AFL!7O.]T)B0)3\!#Y,7NS!HP> 6^
M"-EV"VXS9:*\V)N?>)]QL)ZG>#;5.U*4$;B5>/4*I(E&70M?5/T)%NN1R L-
MC,'GS;:T8A=$K]0=T8&'L6O&'TWAGJS6P.QD:@KA5E)FS#:3/2\60<@@QR2%
MJE8( 8]\")PN'1O+O_*S7"!G !":FO ORA[!W)@669K^DXY&^M6G#W66_>1U
M/DIHRE*X<5Q/#X[KZ7S5/^1S:]O>2N*MXRX^E^/23R*4+N%_KS4B=-L- 6TP
MIGXA2J-NN2(RD .02U>DMW7<VVP41]P.K)B06"\RE3=VW1*^6)BH"Y+HD:68
MC/<6-I$&B*@7(CP1HK&33H.Q)_2R&C/:@A<[3-FA0$S;I5W'4 ][)AJP<528
M6<M>C[:@T=VD^*;;,J%6L>1AD)/)G:NPXUHJG#P\R7UT1G0 ^%!%,\&PE9EF
M"5_>P&619F>;SK'Y_]#'W*/@CG%UQ"5MD:TSS.>>/*]5-L:'J%O^7W;':FU@
M.P +55><BD'U6*:*V0]R /U Y+7!."5>89=Z0J O%9,9 _8R/EQ/G55DVLC6
MSED+W0QYGU^:H*ZB+Q6+4B$7(=M;P?SM!O)^@U6[QVVDNR=IVIKJ__M\[+;&
MJ*\4C7L @*5(SX0)$_PJ"1- /PL.54(Y-?OWVK26S'P@;PA)RA7@F<:K LN
MXY]A^H@,IC?J038-SR4%):+K8MEB+JZ0=@=!3\GLE8%;URKC2;J3J>P\GE6<
M,.TWD!E3[S8@*9M8E,*=, AYNG?F@MBVW2M, 0Q0$-HS9B39O#)X>1^3GGK
MN_0U:#I/&. G41*&>_Z]UMAQHT-^4^^#@F08TT4I1'#%"6"=J18N7]A9S@F#
M#:@^.A[:Q"?J?W@\ ]YG^'D*W5L%SR+I8L=@J\$,G^U7]"972 X8D:,!*K!]
M#XP.%.KRF%&K_878T+=G2]Y6A)91L2<*>PWD[UW7EC !\D-7@3*'IP"?H\R\
M*=NBV8XDQ=E3)53B;-P5/T15E@ J)(ZS,N"I,O;3I,M^;5J@TEND:'6P*EX+
MIH(X##B06S'VA'()+6?*G:@0XE+)]$@3E+9+Z1<@UEY7"D P<=;+%<.?M9!
M1K Z](AM.Z70H,P$&?4$S"H8@4T-,N65,P7;C#%VS"2L^PK.ZO;QW4\FD$9H
MS-UO<_H'.0(;\\ZQ=TMX\-#;GADJ<"^;H4F"EY529O#Y.@MV@\5LX/)@64%D
M[W U]1-PIZ*JZJ]4<B&7P-(CUGRM.H3?H)DQFJ6#S$49:+R0!AV48BRY2:WJ
M&,1!I1S:H!9#U8LB$QZ'1\U$D(8&\ _8>5DWZ34A+4TIVP(!V'"69B:L38*#
MPI=0)AX<NL<,6DMZ(VB3XBZ5:A_YCQP+RK-W_HYV@BV;XQ5G6E<*379"KX,P
M>08)1[>24N3_K$%EW?+H>[PEPKL'5&D7DO(>5((6]36E87G;*^N;%Y^69[7+
M7LRFN+.:?)-OM4@9_X#&%=5*Q#[32AH"%>%>!9ZZ>*BJ!6Q/ I5Q3D_D0;Z"
M]0$F!%"^=/ N">\N[OC3C(OWMH^.'J38PC[<U?5'@(\+'W@_Q4?!J&<445Y-
M\8]M][7?90RW4FJU#1;&.;SAN>@"\[J]GNR#-^J-!I:N--&\THCJ.'G-]5.3
MN\$V[@G&.V#,N$KP%'7#[)0+#P78)R=8KX:77G4<C$S9X><V)C[_WU3>,%L0
M^94YY\%]6.:&S\5^$JKR"C?87%<=Y=4K/)V"$7,YQ$U$,.$(>QG3IPFP%["Z
M<*AT[P-M]'<7TYNO/Q]@&E6ED:J.BRHN-H6M#(5:WJ ./]&H-*90H'2!?>([
M_K>HD,[1*+@(U[@I]O^:XL.(@1%NFQ_2DDS>%+-)R=A/Q2X13W6@VN^4>?SU
M%2AS21R#[9+9F@]H:DZTF1V\*:E73MDE\W+C*\KEJ]454)N+CN>[EV!O''K]
MJMT9,AM)=#*U[XW1+T2;%$]G_:U_!W&#3H?8Q'JW*I@ 4%)Q7V!PGKJ2S.^C
M@97RI#0$E3(1 ?L1H_;&-YI3SQW8^X:]W>$LP>^_A,G)RHKKD&X>\0Z$GHCU
MBA93)(K&IX^BO^[1+<8N!E&W7"]WT'6'G-D;[GQ'##P+ 0/A=FY;6S-OWTX/
M2[^=VU$:#K*:G9C0ZEQ\[NW@ZG=F_4=LV[A]7MLFO55KVT3F8-K9-TZZKBFQ
M\G6@WB9K17,[FE'G:/2FBZ>_Z5&;Z\2]N7OHVV]@P-;&KK!AVN[P67:[2^@;
MF,\*]4];:;45W5HE2FK.K VO&P:/%O@!,5KW0!P@4-?\6,%_GC!YF$8=IW0'
M^T]I8ASD]/I[+QDS%RD:)01@ 4(?U+H%89X/G05C*_.-][1=AUES X1&HRC2
MDVVJP"P71&4N5* LP@XKV?;Q34SDXFWA0D69C/9"N6XQYNERK#0^ 87%8#A&
MT?8X.2FP PS\C1E\GLV5J<E!@[(D807\!7\R,6P ;[2?W/#]1@W&%TE1:9 ;
M/?Q; C04=#/9K\5G\O,2UP1J4'U(9E:MH3\;TM(?#89C#1L#OI4%J=-3(&9[
MJ8Z_V[D,;6,ETB#7->[-IX<*"HUS>Z)SL=UHWG<^$53D6&0?XM^B,4&2"8SW
M2;5-!G@AM5JI5LC,5GHHA91"T+]N+6@@R"MA/G,P64$RR(2]CKP1>6T;D/ML
M?X,\2X9C1'JX;L->2.< 3#']<LV,=:Y@TP1N+)NH[89DQT'\R(TZ)"5F[J,K
M3D<?'MM^GY',CRS1=^A8O+8-^^#&HK$=M? 4X9D3X"^B*@M=IU7?'4\%KAKW
M%FAXZK71,<!K;5 9;.AJP]E$=XBPZC*N.#97<:;G#/YIO0&N0(V^.,N#)(EB
M9JG/J/O666Z" 30<??C<R&T$3/#@LK5J-1Q<P"3XD1LC>'MY&2%9&-BTC<\X
M8[Z((E<4[C/"#H>61**M9^C8F0,H+JOBRVX0>,.> RR;_OQ<%X/W/$S7/==T
MF-ULA\,%'39E4Q=JRPF\*ZU!#P$M$3<K( ,H5<Y65 Y105E;]MNB]H_+5GM<
MGA2?L'R?LE.[#LWM2KPQAV=W'45Z5ZS-IQJ[EU)L%9[GVA22G.,Y;)LXP5!W
MNJK(P&IV$W*Z##[Q$W+VG2%%I^'L "%67DZ'Y>7P!?,>)[I3%.PYGGI:3O"1
MM$$\(0J1(HFK/KQU>5B\BS=&PAM4QQ>Y>L$D- J8&@T&.U"A:O.>6<QHAM<3
M$_^HRD:!T FJ],7Q[ L"R381NSRH\20Z>/7A/ J&YN%-ALXL!'J^3ZEXP_Z_
MS:VH&VHX&.PD$!:_#O<$]0X?^_%-H\PMBAFOX:*)A0XHJ>\L/"0\[D#W[9+P
M/\1B!Q7"9*9C7'#\*65&U[NZ475<:'$'%W=#'G4,%24-9CZY$FNO:XF++7:=
MP;;59>A\U] X=W<WQC,MST,W  5"XZO0C*4V*1V>*T)D&#=(O96.RB&-2O)]
M!3A"$V]O]*G'2;NM'U9L4YV"+<5KL??DA6AK@B<FJ(VC"_Q?BK68KDU+AX<&
MZ[%BU?78KD^/Y7.$?V7]6:-NPQBZZ[8AXV&=55)5,<!=F6_*2>'QO?Q*,:7G
M9_0EVOXKOO G'+MJ+T" K6"C3C&]WB86E\@/^FE&+0VIIUR:NSUI5*/B#7/"
MJ-,;/#5TCN=\B1C\:3-W_0GF']#7FWB&\DS0,;Y:T& FN(#ZS4U"A+UU&H8-
M[NW[XCQ"^.J^NF4'UY>\UK%D=H$;3A-$O;N.&9G_UIT<2P$SJ9^I_UJ;L>,"
MG@<"4AK[F;VCYJ*^-FFJ[)_%TO(N 1TL9OR\X7;.UXIZ@K9DS.5H.AG>C,3F
M5:<_:O8&-U?-R\Z@TQP/)C?7_6D7K,.;+?DC.,?0$PN%U.758-+I3YOM]GC:
M[%T/)LW+0?^JV>[?7+:ONZ/^U73DU%BB]=FXH_!_76"T!5%57D+.^1VT'MGY
MG?GEYHI&1^_XT?QUMX:M_G9U+O81]P6.^K\?X$G>TB-8[Y=/K.Y<9@7+L^]@
ME,\386JHE?ZO"[&WWW&=41' [?::(5TX0]N@12@786'+NZ6)?(',6!8JG)%G
M_M4C^IS\;B3;540EQL[_N+Z5'0Z<.H^>/=@"!ZW*6"UZL.F_U_X]'!TY-,GS
M\?0<B3&W)V9+T9'8M@= <9O=O(!"[2<_9?K@,'[8*8P=5H;/86!>7@RG.*S7
MU%-3SVE33P4E\RE*XQ+ ?&R:L7.N68Z*6F][.=ONN";KG3^SG7?""^IM/Z=M
M+Y_@8^H\,=LJ'9W.@[7] A<]^YXM1?2Y^5O8F[ KS&[7EHS?'I$]UAD,@GL;
M]?PN^K_NV%G$K?' JFK0Q"W<I3@IN7O.C:_?>([8Q#0)_#=[E-Y2M8 9-[J]
M;G 7F((;_AT58O<]O'R0#K,&:62**(=K\@Q!;,/=:86TGBP"@;\?'_B.C%V.
M@CMF]?P=LXZ#77:ZC:%8\\L3Y)?CK%&:&[_L]5LE(O#WVL$(;[K".J%3:B0=
MJ<Y=>8H<M@_08'!_V/942GH,&_UA2,_%6GH<,U;%?+":FPP9#%HAO6QKG?M(
M(=@Y0(&I*+L4&[WQL&:7IX?5;CY8S4_E%ELEBNUD*O>I^K<?65.U6MW.B29[
M!Z@P?&^J)#QZC4ZW5K5/$*?]''":F^ 0V[6>?6+X"SK]BZN[5)!/#AHPI9I/
MGAY.@PX #\5I/GRR WRRT]JM$UI1!?M4?=K8CKC6KG.BQJ!#T+A:"VY,E41&
MO\3C^EI>Y(70H /0@Q":FU+=KH SIL9>AM@;!1WUQ=55JL8=.[7'^@01&G3
M=Q!"3YH[GKFK^A:K@AVI*AT[[Z!TBHT]TDC"#CHVC:OV\ \GVHQ_2C>^2L*H
M)Q:EJP?E9YR2B#HWN@@ZHLV8+O+S)I7G3 K)4SI"J^'< !]T_AE7PZN^(!B.
MBG+RUX+@M.@BZ+PU8[K([_BUO,RB:$%PYD<-C[I%Z\[SE.'C-)3VTEL7Z T;
MLZMDF^#*S-:*/\I(MA O";8:PJ\G-@:E&4+=$Y=_X?BIG !,"?5XJ;2YR[,V
MAA.U*V3:=(_6M#EOUATO(;<:K+O?:73&XYIUUZP[%=3C9?6>.>MFQL@'7M[Z
M ZW8[6D$M]4QHXC..$^>"G[>1A(P&EZ*7'+W^D3*D6\7;"JS!/G.6.*RJ0.?
MDJK4^-[7'']QK<R_>E#>LBXNOG\;ZH+B"5PD\4N8ED6LF=%G)N6.X[PE=HGC
M SA7@@J!*1A793A2PE+&)6.T1GJ-]&HBO8(2[U2D7$% /39=,F%![BS4NGI+
M\]W2Y+5WZUVM_JXF+*1=;VGUM[0<0BTF&CL&2,+TBOV3C*-+)"Z G=H02/W
MS"NWIGICA,>\VPZ)AQ:/L;AU=]@0.^EK9:9:W(P14_@#RT%=2+1Q>M3E%E+6
M'1]0T2/5PL4^8*_Y60"R0L)ZQ6.L/MT;-0;C7LW/JL_/0H)FTZ,NO])V@U;Z
MR/!#^%DQGJ_2M=*TE:)K2F*4%!)G&DLSJ&99T]ZP,>[47/P(L!<2^'DH]G+C
MY?UV2;R\AE1<2(7$7L92#"K*SCJ-L9B^Y$#-S@K#7D@PY*'8RRV-MW=('F\!
MJNFQ.TS35%2N:8G2DAC2G"26:E#!*J"@DG9'-0^O/NY"&HT<A+O<]-%1JV S
MIU9'$\(II&E(+)6@@FQ,%!O]7JV+'@'P0CJ ' 2\_.K)5%P1/78?:>+*PS45
M,2H*Z=D12QNH6MW,?OJZF37?+@QQ(=TWTB.NDG4P:^6S""R%=-*(I0-4C7N)
M]8G.,4 NI"E&>LB='/LZ$]]G\A*])417%5=I+L_8ZTB"#.F+$4N?J'[51;$Q
M:.<9?YI/K<4:Z7D@/:2_1I9(S[&.8J'&V:%%=&L YP#@3DB3CEBZ4\59=0]9
M=6>8IY.O9M7'@_209A]9(CU'5EUHPDL5RMR6;DRD+V=;A92-@FH?YCJR2'*.
ME])6 3$$Y#ON-0:]]*5JD\NA;&H<EB^'\JQE6!YTX^7%5;]^81:2)6&YV9JU
M%H#/>-EU%6"MJ.&W>XU^KT@=O^:M5<9NO!R],^2M>^K!>BNP%E41UL;9*O<7
M_AO8CC+?4/!\_JD1R=#(S-7ME<]%#,*=M5L=JZ!Y>ZO.=@>4N_P+Z(K(0'-
M"GP]#+8>IO"Z()H@2^8"(+59PDVF(!GT>J*\P(6Z(<S61% T09J]2)I,!'TN
MZ&M#6!&#D@=\U("O.8\7I"58AQ8^5Y$7_%%SL!<1@RWAY\[[P;@GZ@9^5R6+
M")8N?%=D0S?UN?6'*3S<_HN2.%*4L#+ &(?1J:HNP[4SO!A,<^] !/T)UH("
MVX3O)(L.8*V9\)$Y5\BL@?-926">PF,V_F\D$Z>&3WR25/HT<T&()<S@9;LC
M=RYBMT74C'%*LPI.Y2Y!TF:1MUS!\J/#0>B*]#961X@1T2N\\6]11;-[6TJG
M$MM("A+?WQ3I25$5:^-PQD%<F=VGD7>[GF<!4*_"#VP^N!;1\^D%S*?3%#O-
MKECH? 87GW=],_9D&H ,<T7@PQ< =$NX :0AF"*VV5H8A-42\M?RC0TF@=Z\
M!TP.?!H.=I$;/&O 4&;"'+0V.LYMUF #W ;=)ZP'%>H'^FU._UQ\WH?-Q+TX
MDFXKY_3WSA13X;;=VNU9P%:";S<L/2[(Y_WHS:);0]XSQGB%Z/FF@+>IO)T7
MN/OQDCM*![<84 $G';C[\?(/C@S<):MKV[HRC)Q0&YK831!FRHO=U^#NR\WC
M?62-/MOL:+=_M[LH^)ZPF#<-_=7Y:OL[[*<@W'WY\?/[_DJ .W[W,!/'?5L4
M<8MMQC_L@7V D3DS\/SB^WGA'%;<3;Y<-R_OKR?_:$YN'J_O_P3=\57:F+;]
MB:<!&O$MT$=A05A#B Z:_OR,X[<V_0/W[1Q_\*\NA ^!>_/WJ^"]H?9!)COS
M>#O]IFB_G+?,%'.E2AM<1E712/,)M.5??BN>&R?N#D@"*") F[]9NGSA0_PK
M7PT%R%?!<Q.VS7C%]H?.$8O_XP1.$-J? Y5I9 AHB7SZ("7:?$KD/E+QTHY-
M5CO7)*TLF<S6#6K!@AOYF8Z>7<NNL^?QR7=#/(GB<6I\0R<;N06S"&P;[7FB
MS6X4#87=-R*9Q'R$9UTB*"YX]Y5>%P ,*C8!OKI"G!IK<A&U-+$=%MQ7$8"]
M3T^??^A6I/;0:WEL'H&-W=],)L?!!7>OR>>%_CXQ7 8\@M(RU9<@A#=P%<Y=
MP*8VJ,D YT+&U91Q3U65$8V]V_;%(!GAM=IZ#N)N;> 7\!,*5 7E%$@[T(?0
M/@<!/P,)J^HKM/V!^.;,R(;/96)8DH):D6Y(S\3S /JUA&8T=1BT!!BM2>Q7
MS_2H;=5TBS%UA#4^GGFCGO'M!OYO9>@OBHD6/'VNLPH@RW7[%?;0EI*\ "9G
M;!I\Y +YSUIA4Z%C%%[(0I%5>]E Q]M:J9;P'1\.3$>Q3/OQS)N!78:L!?M,
M>$=:SRUAKKR!#NDX2ERO!XZ\(5C2&ZXNOEG1S+5!_0.R;EKF>_HA[AI[G R3
M MF##V%/A@] 2VY*!I'01:%CS %,3T%&Z'V,ZU:19!D]+:CEP@T2;(I@PE!4
MO@_N*_ [R[.0"_@=$_"H"P7])U0E IU*(&\K,E/P%DL74,ZM^+-"!T]?#5*(
M+5Q+>  L&? D[DC96L\(6,#S&"P0M[J!B.9>'!T7%XB+S7PAO<"^$*+!K-AI
M AT<4>B"\1=1KQ7G\1XC *8HKU7J'?(-4%!M9=/^F/JY\9<U;OW%_>W/B_?T
MA1:H /A.';&G 54@$"BS$,<?<:(HM^BX&0B I2NS-2S(G'JP) MT)<VS3J^P
MDPM];>[0%)OH-IFSX<(SEM3II,("H)M+B[.RS0V0/'T++A6!G2.--+C@ZXJ7
MF.@BTPVKB2-R. \N-Q(3K!I?,WRI?Z6!B>S3LC-@Y#'=K_EP\(D)0#8M&U)\
ME5VL)..6E"O.D!(%9;E2%5D!=BE96UM(@:0PSF10;,+N@;(+6B3E4O0&1D@*
M8PKX$5Z]-@SF4657(\ E5'_1*PM I=8T0!_NTE^0D0*O@;4#0-&MAU$QOR_R
M7W@E]\RR/?>P2\]]8,]I^A+4&Z*]*(:NX24MX=*F+KQ=6N%$=X!/91..%U\7
M\!3_DM"'('D)U&V,M \?&3I(#LJ]9@2?"CHKK _>%[YR%0 LU[&;&E,-W7 F
MW[>P5O!@$WX.N4!2D0W!E,S @"CG[VBUC>W.T#'M0FV]B"8C6X;RKJF+!HYW
MPOX8,*;O1[IJ@N+10*/SWK/',*6:)F5Y&ORKF*Y083H$:"J4=5-^/4/DF!9J
M%"_.30RB^]STW6Z(MVC+%?K75PT$+GFP8+\0E]\XC&FPX@-(!L#G%S8F4/4G
MOA%=\P'%B=.E\YX"QTKI+PWWC O[W$C=;LSRT4>R%+LU_)RE(#;? 5YC@Y^Z
MVO@_'..QS@SVN$8/=+]Z7"])R,<YT_'-;N^T?._N1+X[#>.!-VP[L!\7_K$E
MF*-/!:9ZF)=EO!*#G@K.07KJKZ:]VWA.J>@SDVJ%[ #S7>H1*"@A06^$=3;?
M_^E]C-<=LCIXW;88]F[SI_V'^OEH5P$^TG0NDQV:IUZH+2?)Y;5X-1E.^\WN
M]*;=[(VFG>;EU4!LCF_$WG3:Z7=NKBZW'"C<KEV3V028AMP=3*\ZT^&P.>I>
M3YL]L3UJ7G8ZG>;58-*['(GM;F?0KGO<'E>/VT'=&B=>L]I'E%G[V]4>;Y.D
M&@E9MBVN6%NENEEQ1E12MQ*KVSB>^I;6#?].;DMK*CVY+2V:2L^E)H__;-7V
MB!Q=0FW5>J!E$C3K; [U='!W:*H4U\ZHKM![; C*(@@Y0P2-ZZ:>QX:@>.6/
MBD)0?Y!GCGV-H!P0U(]7?Z@P!(U+[)=Q)G556.#IL2F$E:Q\&I9;DD@'] 8"
M?T6[B9C6(314=YPY N"$I.@D4OUJX)PA<!+7KBD .&+!_3%KY*1!3A9594X)
M.6?B_WO 8'#AT0D&/Q)][PPJ8O9#VGXDTA[I]N+N[L9')B'$NIYV#4F$9$CW
MD$1Z:4:0%/.LCEUC\G@P&:]A?"&8S%-=J2%Y/)",UW"^$$AV\CSW2X/)<W"C
M.G_'*[=4]5&IUV=75;4?<E:62-L^D%3'NR5^ZCJI-30'(8=PB;3N ^T_,4_O
M;PW-HX5F%M73#H-F?U2D(5A#\VB@F469NP/-P6[5FDKLJ3*]5?(JUZ()966A
M?I>PN!(MB>2D 7M*G+ Z/;N9P/,UW!:K' XKVF)G#A,--XG/-UD>][OMC.%R
M<G:WJEOD6>C,J2#)-VD3E-C+JY\- JN?V8FXE<F^39"H76)>;H)1AO(A2U^Q
M83N?\%7T?69SIC<O',/3*<+88P8#IB^F?\4*C.:PY<O(J=:OWL2"LE]B^^@B
M<TH<)N1)+#E3\%5K-#4I%$T*3LQGI4FAF(B, V:4*OM[[S+YXS5 K^HE<AX?
M-)_":#_"RNS'L#(/7]_8@5*#?MI.'5NZKU_CO>,5]Z[6Y <^6J>5L1Y?B?I"
MONM8?2%E,W2*EY1&:,;+6B"::N#N G>0%KB!)IH'L%^U+"';KR1>2R\\4A'A
MTS])X;-?%ZP2(0_SED!?-4[,_T,DX_%53REZ.KWT 3&UZ#DYV([RDS_QX/I?
M8N@SR5QL(Y45>.Y]K")8*V_TV+[002]E^:OD,FAP@C(H.=.J&GF/BY5*6)\P
MK5P2=QO%57*+:RB7 N5ANQA)%07A$Y95)V\C#4]0/AT;"8N%2J,;?6VD]<_U
M:R.IQJV#VTXAHB<*KR<L>4[^:&A42Y[2*3AU)_=TDD=Y26L&M8?I@[IKR7-R
MN.T5(WDB\'K"DN?D;9ZQVZ90FEO$.$%!E&%D4:%TGTE.ZS#WL(<)PB8;R=89
MI,]ZS2+.*]L<[9HZJD\=.<96<)*@Y'&4$C3'+/'3-NB\>>-V1]93E*M'?UZ0
M>T!&NO2SQFA4R5BJ&KA5 6YN(1EUY-]IB2)D5-C%?(T]4!5>VO$49=&I:['O
M(OE!/C$</[698LK8:Y[,KM]DN'1".\^GDVH'=#+)=LF#>PB]KPGB= ABE&TD
M2*:$<!1D4-MQ\(8[$):@%PDODKI.5OGK2'A$'L5%2N<8Z<J.C%('GH0(SY2F
M7Z>=OF9OELZ>; KFU'1P='20;2!+.GOR>$B@&H5Y8I: *?#ECPLBO!*$/-B=
M$N@%TC/ D"PE17-;%%E8O1Z/'VWM2@!&2@1>NH<M,[W2A&<%E_>QR_7 ZT'Q
M@)?E7FXGI+8.THRBK267H+J#Z55G.APV1]WK:;,GMD?-RTZGT[P:3'J7(['=
M[=@% N$^,IL 9<CM0;\]'EZWFU?#[E6S-VYWFZ/.U:@Y[/>ZDW9_/)B.QUL5
M<QC5.\5R*E$\9V>-2RR1LW>_\^X(/+@0#( L_5DLM#NPM5"T1.V!#R$./HE]
M)2LBOGI0WH2ECOG'6'T+^(9=6XM7M\BNC7 E*QO'2\A*MD-;S"HOB%>[Z74!
MJ*Y;EY_(+M;=R@_D-_^RE;X)5_KN':6/6@:L9=$[#(@PWPM-0??W,4]V3IY:
MMN?VP#A67PKB<6RVH/J-2D#1QF#GA+TY?&^<K:%?XL:(%WYC<.BSVIHFD?^<
MK0TLE E66LOM"VP;.3G6O:U^K=[*8J.3"S9&$=@8M ;#TK!1$7VN/)XZ][<"
MKGEJMCS5Z^A*3#7C"*IIM[K=FJ,> S)"..HAR!BW(Y AEHF,T]=1KVS_XSWZ
M'VNE-(O&M.-X!VIW:X,D4DSLO<*MNB,&FG;.(4.S$_.4 5NCM#KM8KO4_EXC
M*!F"@HZB=ML_E(.@'D50GHV?PA%T^@KN-D.N-=H,R"E>@G,0.47H-9D04P>]
M">V:'5<;/T&)QO'8\2GC9T\$@/=<^'2;\SRL5RN58!*!I JR9"Z$N:J_"HK&
MM@^A9! 5S^<%2]\]W)?,6&?[5>FLXUOEP+/_^AS_),_QS_MXK!)']]F=J=7G
M^?5)<'V>?^*[6)_G'\AOIJC,K2385E3+))KV@BJ9K*YG-*60JFI+4.1 [T<%
M,+ [8PG<BFEPAZOY!<619KPX]1+GN\05T3$R6COG[Y@^T_&>NJ8<6&6&OCR^
M@Y&#TC.R=J'TVD$=X9.VW?;[MNW<_93MX=,G(Y[H@7/% !/4ISUI,^P, 3,H
M^L3C='6KV#QWZ^RC\BRW>J[K7CNHIWQ2ONMU8G_EE30X,=UJAR6\U5SX"##4
MS8 5YXBAZC/FXU2&G1Z[-6/.@:AZ&3/F.T.!+5E):GHUIP?\N."CQ)HAI\%.
M/V.&G %V@ ^G;U&5$1^NR%'T;HHT>:-.0_O8<Z:\V">9=U]N'N\CO=7VFK7;
MO]OGIKXG+.9-0W]UOMK^#D]0A;LO/WY^W^\3CWT:ZKY-B'!"HXE-EN[ /L#(
MG!EX?O']O'!DZ=WDRW7S\OYZ\H_FY.;Q^OY/05)?I8UI^]__% !JQ+= 'X4%
M84? ':Q@P$7P;VWZ!^[;D<[\JPOA0^#>_/TJ>&^8^R^+G7F\G7Y3M%_.6V:*
MN5*E#2ZCJFBD^:3J\J] H+D[( D+ XG\-TN7+WRP?N6KH0 ?4"35WF:\8OO#
M%\E0)&WGV@2,DI[(HP]\BJR)%GZ5$FT^)54?J7AIQR;WK6N"BDW@0G^F3V<W
ML>OL]T1$N(<*83_KQ).!B3;#?Z[_LU9>@%-B#4G%E%4=#P,>X7F7N'$\SKW3
MZP+(QA<" :ZZ0BP9:W*1,R/Z]/3YAVZ1* +MMRB!\D7"Z33H_P7/K&B5BGM0
MUF&M,! %OW<.E0KFI 57\6!1.:CELCB5E:&_*#-XER08!& C@\G"(E\ ]/(G
M/"\(M0-^F],_\&2ZRE2A)ENK;'SZ@,_X["XVO<P@*]W WUX56M8 3YU,2[*<
M,R>NC4NJL-)-A0[(6DB68*Z7/.8(_L'P)+B6W@Q@AB_EA>=0:_>I'IV_HL%'
MAQ'Q@[P@L[5*;N?!Y$S962 EB^U 2J[#F8XDG"G?Z( RC_VW8H]RJ!A2[T;\
MW;@B,ED^$4/HBCGN2$5<4'7,UU%'"]4Q7Z>PBW7,5Q8Q7ZB+;ROH%7=Q!PF^
M:IWG=U)7F0U6SR?65#*,#>#SGUBC.-W!D=CH']!1\B0=WD> I.#D6+'3[(JE
M(:G7&(SZ9?N_2U<"LV/$]WXG2-79;W$M!_+472*I+G638'<K\Z._8:/=3=^*
M)YTJ=)3<_0R &IRL&T,\% %4L=T8M_,,6*ENZ\("I0=K0RA'N-JW?.SF0G_5
M]KC!JRZ#RBKEG^O((BD]=8-?).PMXMXA?O\'GBO3*8BCQD LDNZSZ6)1P[@
M& =UXHUMSQ0+XVZ_T1\-*P;CNA-%\,NW;"@[==$4GM>2(0'@".PN/3)FE2?D
MM0EK;@JS-28N-H3I0M$DX5D'0:]1<6BNGTQEMA'FH!DTV Y07YF^7!'-9#'\
M3Y**8658UL+4906+5[ K\?2:_22#XB"!K)4-,E,L82[)/%>R)4Q,E+D13DXG
MO5YPG-94H$?=XCV'$1PO:0-EO4%H"8Z_14;;1?3*_6N?SABB2;XI9O-2TGX1
MPYS(,EE9N&;?Z2CST5$'<8F\C]6]=B/YV,X!6%5<'ESQZ#4+:M/*>=I)KMFH
MM<L5?6O&?@%P;ZN>!NJF0 F4!)]@?H+DS$[0= M(23'--:L?\T*TF6X ;<)3
M5@1>\T+434OX"EL"?!/?&A_6$9TS_WJP5> O1'\VI-4"%7VZ ],?>V026@5S
M6K7&O)U?,?Z2Q0J+AZ-2#.J-:*.RDE/>38_Q3UEV7XV,D[-S#^^E04.[G)9]
M+#&\ 2MFK%XJDOOZ$?P8#[1BQ"G"(7SEBRT1^>Z9-[HQ9>+PBDK#JO"9]CX^
M$X,*(OSGI[^& R2KW20'P5Z^6+H1HQ2N@Y9 +OD'7WYZ\NBN;K1G&=&VUY*!
MU:/-.V(\+*20Z%ID#+&C:__86I\_MAKDN:M%%XNO%?[H6:GX8;8#7YBM/1WA
MW3?=--\+,"V!SBM&5&V6 X]IFF3W2J^)PBV42\D$3&C$$E18"RQ[)YBX%,("
M".R)$(W:%K2#^]JD@;B>YGI-N[D>$#L2#(@N>C,58G#?4L=P7,")H*\M$_0I
M-"R!@ W[0:S*7DNX4E3ZBMS'P1K^P<N BH65CD'R&+5K7\-NH@EV?-PKY$U,
MV[-U1O8-LE#FR32)IB!_TC7JCT7? U,:]TP:5$:[RB#5!>S)X\YJR$E5=>,.
MEH_MB<!8";S74IKV=UQV Y,D#= G<$.=><)XMQ84_]HQR/O86*[0JP+\@X+,
M3<(D#FP)KA/#G1-ECA_MKG$ <#.K))E53^G8N5)9175OBPW*:T"AX-0>$=[=
MR3N\VY>QM+-JT9(\('#;SJIA#C GXR:K:  WT2B3H+T\'W<D%2NW7[G%1.BO
M=CX6X\5>;L)GX6$U!Y2O?%P8H.HF*F!Y^ ;NCRRL05(ED"2N<5HD1)C[OWBN
M%R$8PZ/C^YVHZ/ADC_0A@.ML^^/G"Z&L:L=B%TU9(>'U)\-'Z]V.$89?[_:I
M[G9-V^>TVV73=E)U)V;07A9@2N^-CJ/*4*> 9,'$$BQ\(HTJ$3D<H+C%3U+=
M\3[%0;@/SRD4P(S6K-Z.>COJ[:BWH^K;49;_H'R!RD\-HE<[F\C@3)]\@![Y
MMWVC&9><V?(N*G*C.PRN&=E+4C,2MOVKAL=X>/R<)@A8,&%EX*>+S^*@,>Z%
MI%WEO>/!"O/[&L?'@.-1</W*7I+ZE5GBN-?H]0<UCFL<)\3Q.(,:OAGBN-MM
M=+HAV1DUCFL<A^&X%]2<)6D]X2QQW&[TQ9"Z'%7 \=GZX*Z(IB\5K?;"'8-A
M6V]'O1WU=M3;<13;<;9>N'_Q*'+!CB+GH=9KDV7\\<#S@!C?6@!7'-/U=M3;
M46]'O1U'L1UG:]/2O)"C.P.+^^2<_$[1%6UZ00T#(\^I:(;.MD?)5HTF3#/Z
M0=/K;N?T6O/636^C.YBN*M.XT1N%M*W*V=%4/C1.#71!#?4B#Y7* MTPO!18
M#;HC UU0)[[($Z#R.)TXJD%W&J ;)#VN*8_3]4LZCZR=3+YS&Y;S7&NYF9)A
MXFBL)&3(MVR'&FL]]]QAESAXJCS8U9KNZ< N<:Q3F=RNUG5/!';]Q*%)97*[
MH]9V3\:C^Z,^*CVVTX=Z.^KMJ+>CWHZCV(ZS=2,=YU%I>$?#,I3=R$#\?B=%
M@I]=X'!?W5R_'[<=4[/]^N/&$YG?;O7+TG"//)6DNI@+.JS?EXQ7,.;*,N9K
MS.6$N:"S^GV)<T5B3FR)Y>0UUYC+#7-!1_7[DMP*QMQNNX\R,'>VCJ-C/28]
M)BH,BEW(2L/E^U?KN#7JME 7=%2?E8Z;&>IJ+??$4!=T4I^5EIL-ZFH]]_10
M%W10GY6>FQGJ*JCI?OK@;:#Q*64?V;R;UE!X5Z5EC=/#R-<KB,AK@W<9Q*9^
MY(VVG9VQSD;8E":B;XUDXA6*(9#YG,B6\*JOU9FPD."YM \3MAYRWG0NK6PF
MGDD_.*M[S=?U!I9UZK8)VNU\$]SEIEMWN:F[W$0QRV,KSEUWN:E!<@A(ZBXW
M!Q_]UUUNSI>RZDX89[;;97?"J'>[INUZMT^3ML_V"/)ZN5+U#1@KO@[0Z4XD
MLPT\+?0MXX/>$D""NW[8Z+R308CO?NN<\J\#73.7F^ '3-X4LVECX0&A<$N1
M\)U@XLJ^;)<#!S59 GU983DP_R6&/I/,Q7;Z"U7"Q=['PQV[!X<;5T-\9)<?
M%<ZJ!<:G<Q ;;/2[P=9TAXLPLVKFEAMS&P8EU>TZI&OF=H3,K8*'IY5.,!V*
ML8Y+:UK(@1;JNBX'6@OWQ+0,1<:S5&8O(%R.KZ%7M1E$O)R<7!F$N\^41?S$
M7;Y_^%D!)A&9$=\;E]/$H[8 :@N@TF\IWP*(EX!3,[4 IC;LUE; R0GY>,E!
M9TH/IVL)G,RY 2MAA+N&.*;SP# ^DV@*?*3I%CD^LR#VN5FIC"7V*"/Y3[RT
MJ%SYS]3%S15YLMQO*\"!HB5RHS\J)&,KZ/CR-(3S.9%:O%RPFM1J4JM)[4!2
MBY< 5Y-:36HUJ1U(:O&R_FI2.U92.]LSKD?=DE1_WA]KD7GT]FP7"'VFK]%.
MKS(_"A]F%$,:A<28).R.4!Y3Z#?:HWX93*%[LO+WM $?$DB2L"_#&4K!&O#'
M"?B0P(B$'2%* GR/<OA!NP9\#?BX@ ^IE)JP%T7-X6/;.=F49(F-F/CE/8+>
M_FFFO'RF V738M?AA_2G@^N!? 7K6K-T8W.EF+*JF^NPRAZ]P,H>N:W-IZ?/
M/W2+"!%!2L,6C5+BZV)/1$$;CF>8Y3U"=P/S?Z&_>@DOG..9=(,6OM'GL$!\
M1X576"?2G.FO&GP+V# 5DUYA^<KMX.DN?K*"9=5G)MP_ YL>HS\35L+)98:Y
MEL!QP#]=&P;\1$O-!,._GW=A&\[(J&SZ4QBV^K]O,3?V$6>?HWXFY6]XW9O,
M'#_IDSCYO :]J"(/R1 65,(AFX#"(TKS/80J^1SV9?;:%4V$D(3N'#-[Z^W,
M?CNOB$P]ZT)7I%L:E+6=YY9252VS(*M2/-!;^132*WP"2Z^ SARXAMG88/F6
MI QX>K^$H,I^>RNH4@DM>AJJZL*&?+?WXP>Q;N?WQ"3&"S'3=>CK-\1Q2+W3
M H(4:QBE@]$@ $:=IMAI=L6R8#3LAA1K+@)&,=ENWHI@=FSW7[KQ"\2:L#)T
MF9BF $:,8*Z?FJ!^@WQ3%5)U7KSO@>70S?!@]HL;\U6[8]MR..%T.XU.F /J
M7/EO-:$S.ICE9@V=<:,_"$F\J1#//1Y5]T;1%'-!9L*SKL^JSE_3!'(51TM9
M!'#UV^.#N;6]I5]P1P\DN=[%YU%CU LY'BLK&*H&9SG@%-L'RX,LP0GR0.PU
MNJ,\3;DTZ#PYQ9S%WBG>\YIJRXD#3GZ+-GHS.9/NB^+!8@.(,14)#@:-;B>D
MCT=9I\@U*JN!RL[!\B(M*H?CQF XKA@JF6#@P0P5"F/(KN"L6R9$L/^./,L@
M1/P3JZE-UE7C?:/TG[=VALQ XH?M$><O%K:5H&<NO'$ FPKK'A!5L\5W#L<J
MN*#/*TY-W@9[!X[,#1\PF"HE2+-_KTUK"9\*Y&U%-!.[[L \/($&DBG\+3+(
M*2@]<E^#QE J_O;UYI;K>7<T:&&Z@#T@#F4/XE)V'Y:@M:OOL<4 A*CP6X,Z
M#J-G%Y21MJ\18"&S:P?,3G F!AN\(C)&C*F;%IMT#'R:RMN)H7,<%&2]KZ5>
M_OLWN/C<;^W:RD)\8(Z#@FGW=6VK"MGYT%DY1EY=^>(0"Q]B'$G#E[YX@F8_
MS!0#=IK]O!V^IL_G)F!!I1%IE@Y@,Z150Y@I)B);T=;P\<K09VO9,AE)S*2E
M] R?>BQ,UC,NFE:"BO6D%E'_PK%?Z:]:*NKHMG8M()OL8U!]4-F/U.+HL)F(
MK=UB??L$4'P ERF*(I#+?G7ARW[G&.8/T-F_#,WVLX(@S;Z#\?&+&+C];P2$
M\W<"S-E/T0@)RNM-+? .0\B@M6M7Q<9ZOQV4$)A:PATVDTYK]Q0R!.N5DQOQ
MQ%D&0=,89!?JR?QM3O]X;$J@3KSCLR_\E_?^M$-P9\J+'55[]^7F\3XR@,_3
M/]+M_NAYPF+>-/17-X5YZSN,YA7NOOSX^7U_F&#LR%QOPG0X#Q(9!W)3&NPD
M@*U??#\O'+?QW>3+=?/R_GKRC^;DYO'Z_D]!4E^EC6D[9Q X&O$MT$=A05@X
M<@?=$=S;_%N;_H'[=AS1_*L+X4/@WOS]*GAO6/1W%COS>#O]IFB_G+< 2UVI
MT@:7454TTGS"N.Y 8+H[( F@%@&C^,W2Y0L?&;SRU5" ERA(8FR;\8KM#QUJ
M]'^<P%U(H\,Q6G^*[$W# LQ2HLVGO,A'*E[:L0E^ZYHR4E#N#'U%#&MSI\**
M3;39]7_6R@H-NGTI*8,$*2G9]2^.E9LR\N6FV#-L"'2.PO\M+5<?!6>>,=)'
M,AY^@L257!L_NPNSH@N#\I[8RV*GK( VE%O22MZ-M;/.70FEE6 *&1Y=UDJ"
M=MHEYK,<TO0[5J9+5EW%D^3 '/#.3-(I#I]SAHD6F3"&G!-H#EFPU*DU-4I*
M0LDA>3GY(J68,,:#@)<_G_V&NHNR7!GZ"UDR?3U!5$N65)7?JS)/Z\AX+%&>
MHFY$WM!?H6K5Y>9QLR*T$!UN\%?/_N[4GPOP+(4^]XNAF^EBU$;M0>HXA(R7
MNS#<U1"/!_&(G*8:X@=#O)A S(J+N<NUHJ(ZP/*I3ES>91%=723]1^1FQ:)_
M>W/A:_O'*K"#?J/;2Y\960N]D\-Y1"+9,>-\T.@.*XGSVL"#-WR7Y(6B$6/C
M]U+78J]T=A"1Y!:+'3@[Z_V^)";0Z0T;G5K:U?!VX-V+2),[/GCWQ49'K,V[
MJ@JYF[4!@%@;A JY.>SGVDB8H%<S@3R80$1&7BPFX&PL?'_#M[4D'H#F7"4Y
M0(WM<K =D==WA-@>55)YJTTX> ,K@4T,3XP1K0JESZU7R2"UF"N=%70/%'/V
M#CO?P74/?'M+8@FB&%X@O99WYPCRWH'RKIH@'XKI*VF5+_A*,^M\<L^7/I%5
MH.3%YT=#TLR5;K#N#\7[+A-%F^7Q_N***14QRDCF<FB8RS_)0I'5TA3HP2!]
M\9=C1FC9[S\C"CDT2J9L"CF@$$T=!UINO'VM9Q>I9Z<N59P#U7;[[<;X@-J"
MM1EX<O!,70XY%W@.&N)@MU9#!>!9=0.NF.P"6L%>EM?+-:N$,B,K W:0&73H
MQ)268-\I_Z4?G*#L.1(%-7V&T;M(7I&ZCO/$Q<R5!S+PLTKP!V ?$P]R0EE+
M.J_0J-OHE:2N[NY$L +[OJ:3TZ&3?NJ2TN72R7#8Z(M'02>UC5?;>!52HON)
M*U5+DJZX&O06]?X@UB4!LB5373,M8TU?2!N./!N@@<&EF"*5CL8'0./M?C5H
MO$* .F/L)JYG71IVAZ/&H%<1^51;AP%Q+>Z.\Y9G=,]K^50ZC1\>T!)$S <=
M/:0M@M\9-SK#2I[QU^ N!]R'![)4!MS==J/7K:1[OK:X>'65$Y1F)^^MB60?
M651D*859B VQ79TPE7.1CN=-+%G4=JF)I;8GXTA;UJ%O%56<M2%HY!1SWTMK
MJU;2F"-Y3O8!-*F9R'C8&%4D\"V;CH$U.1P=.60?L)/:%2.V&V))T62EM2HL
MN%9W\6-(TQQ0R+?=#1V/+]:(-UG#DNR1"H+P*L5M]A'=GJTO!O4S2MJ9R7NH
MGUDK-E_',KM5R=Z>-6)0,\2D_9D.FT\?YQ.[6XV0O"O@T<-R+RH[09V'DO90
M.G@7Q79K-]U<2(K(3E #Q*1=E Z?BY@M)(OFE6Z72EE:*6!!@1C +G06@:%;
M>]M0]CN]#/C<5_ZZ.TF93=UA)-\0T#+V,;S]N KJJ9>\$UU&,Z+]4'>I):KM
M9*RV6'GK)8?UF4QD^N]V1O)WV>"#FIC(9V/3$2M4K^QI_J6M515N;;@MOV+>
M@12'*=&2MD&TT69&,V .DB4HEBFX/?54W32%A6+2[I+87,92K+4%2R8)%M@@
MSS!X[5D@+[0NA G0,65#>:(T+$P>IL[ 8HXK8GVZ@S:OWI]LJLWLAB"6/H)N
MO^P1=,3&SA!B/G6KI1/K/.KIZ)1L3IS1"(\>*,/CD:\!_"1@2K+^0@SI25$5
M:P,T:3*U9@ON\S4MW06/QU:2:PT3!63)7 AS57\%\?<F$WHI2BC#V"#:I25>
M9S=8XN^FQI X_F@"R8"EIP(SA%&8)K%8V6>XU*"A1D)D7<80#2F1/)O@6[_"
MJ!0#%Y:U'#9#F'_3)#(*@%<P]TVB;<LS3=]5+Q3GT8),GTWE-*ZW <OJ"("M
M)H2Y]^CRL_TRNK*!V)6T9P4,=;H%YKYF;*,$S=B$?4N54$K%:LDV]K5D<Z<G
ML/EQA_:Y=F+SK <G]+K[V@Y-/,@+,ENKY'9^@WT=R3=DC-N$0AND;=/(^.I2
M'%P-;IKCR=6@V;ON=YN7-[WKYK@[NNF.KB;7XT%OBX!<Q64"W$UN3X:7[<YT
MVNR)W7&SUQMWFI?7@TZST[Z93&XZ0(23[E9_M[JI6]%-W7J#WT.]\UF_2PQX
ME=-02VQ7NZ.6/8GN,*\N>/2#G:;(08OA/_N,;L*5[JN@!F_N_\IHX!4*HLJ?
M?_M)K3CDE-!5,1:EE]8ZSSNXXR%@FB)?$.%%;%^-E,HCQ9,16N.EQLM>O+AV
M0,EPJ45X+<+ST-6/C!XGU+-911V[AMD)P<Q?=Z<&6PVV/,'F=557#VN53U6K
MAN9Q!S;%:39,/>;NR:.H-G(1_O[+S7?IW[HQ16<ZS;3AVQLGV2;BL>EK^8VK
MVF&K1GDQ*(\LD34.*I%5'LP]7A9O?:WDP.]A\YU!;S=FK21 G%I=N8IC/A+R
M4<W3BH=\ZA(%C?ZPDGR]=CC%4OL>#6E&X*-?)ZGYG7-R]CBHDE<:!N-"I#3M
M<5B-K+*ZL,$)T4ZT0AI5(JL4XLE,)Z4-CZLAL>OJQR=!29&$%%2.JU1"2JOI
MEE1J,L=Z(>?N\F05193M(.-35(3KB@DN1XJH\%6T:MNCCM%Q.?ZANH3(^1!$
MM+(;5,;K4(K(4E_M-P:#<E36N#1R:BKKF9%')'6D+CB5B[MU4)+Q=K(5=GR9
M[# JGN$DN4!(D>7$D.<D.-4)3\54(<PWQNAX,YM";:Q,B(M/,Y\TI2LB4WM?
MZ(HT5:E3B52E^JPI$)F%AC%7+\ZO$F168#)1>0SWK'>X\"2@>I]+V>>BDW>.
M3*C5@JQ6*ZN04G-^W/&8X%&15)@:))4&22526([L$+<(^5MGI50P=GG0#G*)
MVWU?CBDK9=08CRO97ZU&>?E9*8-V1&^%H\]*Z7;KK)3SQ'PDY(/R#<N#_ ''
MI(-*\O7:J5+GG)QNM.] #,KC3,,^*I!STB\GK:W..3EAVHE4-\6@C-!2B2?3
MG)-RVFW6.2>G24F1A!24^5@J(:768ZL1ZW<2.2?%]:BM,TK.*D)X( 8EB\;J
MP9E31DF[7V>4U 117D;)0 S*^CR4(K+-*.GVJZJ0=D]2(3TS\HBDCJ ,Q$.I
MXP!7Z;@:F<T99)1X<S<*[(I5-VD.Z(;K#;QQ.N%BDZ8=];@!'_&.<8HF/!.-
M&*!%XYNDV1(0;UJ&A+TO[:>8@J[1Z9H6" /:)DV?"]CZCKX,GH?MTH@D+Z([
M@0XZ6?2"\TSS=KY-E?DT!*UB\^,CV.Z0EMV)FB/GLMW=/=O-?L,^C 992K!$
MVK/P2E#880M$[,'X3/P;P)J@!:^_H)B"M%H9^IL2MQDZ3(2HFZAF94I$A[((
MJ75OS\>[KG=T\.*%?_>&NUT59VMC0R0#^X8/MC,*V9KAUV:KZ%:):5OFYCJ"
MB96P.2[O'<W[=\:G;_HIOROBC;K&Q1'ND=NU#RC9M)0E;=QGZ<(3J5C[ONUT
MT6R:]^E1S?MNZ%IZ*>2:K7]@5S_:^1*;IP=TOJS34T_< 0E(ZT5Z&ZDKMR#[
M<9SMNZIC!NXQ[W(II[%+_3_P!3IH"-KSXRM17\AWJNBEL@('O;J(:X5ING^J
M-%VQX\<]A!T4#YH#87.B_A_0BQY?]93T7(Y/Y]@/"1U]I5-,HCP :'":M)W\
MW*=JU![1>B,O:D<?W1G2^\G+[^%ITOB1470GHLM(3A1]HZ^-,R3H$@4X]V7
MX#UTZ"-S+W5FYI.@9#XJCLP]\W2/S6QG2(%2/O4P<F<.(4"(9! 1/5GR8A!P
MRU$QB)!EK:7^KM0?TT,M:T$,(LTM8IRF$G#6H<:=B"8K.7","<+H(+;1'>T>
M-M8AQ3GIO\=+TW6TEDOB$:U@ZOJ_)U7_-VA4GV;*RV=Z=LJN9=?AA_2G@T^
M;R3%^*>DKLF58LJJ;JX-8@8?Z78"CW3S562<OTVZ8/Z35[Z&GYX^_]"MR+-^
ML=VB9_U\"7'. ITT1O( F4B:K$BJ\%4S8688X6.Z475/Q<5MT+F4\N8 :&*X
MCRP9Q@:C?5[H8DFTU)F)BR9+YH*JE_0'\I^U I?@PC4$ ) %8,0 "ORR(4BR
MS.XSB$S@.J#"AK RR$H"9<<.LFH(&FRB]QKZ>!W55T%>&P;&7=D!7,X35]*&
M/0X^ 4QZ'_<D:;_P8[("UB<3^U(&@=U'JXKTI*B*I1 G.@F#0(0Y8H5-_XG(
MTMJDF*'A8 M0DYJ@$"T!L=8:D+;A7\$UB@LE3_C45%^N)&T#3U(5\@)OLA:2
M11^F8)TH6#C!D' 5%$T@\SF18<H6"RWC$54$!@XK!Y?BH/%.>P*8)T;L^S$$
MQE0 ))*!4LC07V$7[9%4*8(E7S/()^_ID (Y"&Z-9Y\1WKI&]3B$(:RT LO)
MX*F8PI)(R"59=-O,X9K":FVL=!8NJ&Y:PM9#&:UP<F*$1,,(UT;XRR1*:LFB
MIM@"8T1B5# B2/&(OEC?=.T9<7U%GJS'S8K09,0'.C+DM+&R$:?NI/ Q06(F
M5;3BH-_:=3SXPA7I4D=//B)"(H_)IYKH<+QOHI35KH!)@(:'B)OLA<M.,?,&
M"[,%/L*#[0X#['[8157NJC+L^J. *%DA/N*B2CE5"'&[NKT0##97IGD@ \SQ
M23*!,\+L]2=@T$R.<\FT J6 BR9K 9?.8)P-X76A@'2#7RU,=J8AV2HQ@??1
M-_%[31:>#4R6>K/@$80%!BIS!4.0X7OA&PA4-3)8G(5[>L;+.3E*Z59!(DD8
MMCJV2MN)+Z'8<@>$?Y(W&LINAU>"76!'3-Y]N7F\CZR]:9MI[?;O=GRF[PF+
M>1,4!^>K[>\P4E.X^_+CY_?]%3Y#3SBV%O2C^[9(?9[).F=@CCVT]8OOYX7C
MR+F;?+EN7MY?3_[1G-P\7M__*4CJJ[0Q;8L=&_9IQ+= 'X4%8:&F'30\N?_G
MMS;] _?MN(;X5Q?"A\"]^?M5\-XP"&2Q,X^WTV^*]LMY"V@J*U7:X#*JBD::
M3VC@!>#/NP.2L#"0X?QFZ?*%CRQ>^6J@BT'!UH9LF_&*[0^=+HC^C\,0$.!X
MHI&_*'RFR$)I/4XIT>93KN8C%2_MV&2U=4T9UCCR;E=4!=OAW21V^#YE/J'^
M',_:%GW6-I5APATSOR@C1X'7?$3#">=[OB8V6YF59V547!EJ4J)T1 29BHF6
M-+<YY[JJ4EN.BU'B)BYH,T6F60O5RE?8RDW,+&/A=D[5I? ,A%[>&0@^Z5")
MW()S;'U5\?+BKBCOL+V,K .^:\XS%E5@$7#!>WA4;VN5J\:'M2:K:\=7.$SK
MGKSHZ@M*<-3"J:_1(#/% KJS%F#&_FP]M)CO>KW"!,2_^7)D,>VTJ;PU%\H,
M),2?MGMAW(55BG-=#\S@86LX:CLIJ?0?QY%!!^'XHB5+B/74?LRW#RX^CUN#
M0=?_\M\;W'\.:X(:#9$,50%4P](0A?KH8SU\&',0(U!0.Q_$W@?&8WW+H,=\
MUSC6NX9@_H$R_$$<?& Y-+YW*4RC\_K2J,['4JP]1P!%5>^*$UI5R@#"3O3'
M/917Q<3P[4871KG[QA&!?']-*;W?@(*I*M:&.OL<IN#_CCG^_D)%USV:I#=\
MTR7M@<CTT&FBS;ZL)0-,;$(FSP:A_BQ^ZS?@,;?S@#=.OS[^T UK\60HLV?"
M+OCV;1K'U>@?SI2[B%D;I)3%X$<)BL%7)(SUK"E/[%0O>'8<576SICDOS8$<
M[O0;[7:I5?KJ"-X]$;S[-,7I0M&DI*KBL!U/51RV@3&+XT:[.]S26_PJXMS0
MEW%TIF$[GI(X; ,X>ZW^UEM_Q_G%NCV>&CAL@QHX:(F=<%4TUE-B*H(BX/N[
MM!$Z/6JH]?QO/<'RK/N"17/7W)*E9@W;F2ILH1+@X>[J$NBU>([?Q3.SQA#)
MJA0UZTR*L.Y[5=YJ4U+49ZHR517U8GNWG%V=RIC SV?I*VX?V9_PJDN^S^QY
M[IA1^?O4&.:$.0?=80J2&%-!$M&7-F@,L(YOA(*$$5EQGA93/1*I>M3K;ZM'
M_U^\M\34CD2J'0T.4X[$F,I1I\T//@94.1J6HQQEA?;";?;#!AQ^WO&D D,J
M7Y$K:)918C*P,4Z6WKS'!>FTV]^3257*W?[/@I@+27M&^3K5OUFS<H3LJ#%(
MD->7BP?OS.CVZ 9\(*,IRN-8*I_)VX-YU'P&U:UV0^R5VUHD0Z*MG9SPAH?U
M$ZRI):FU$ZQT=T#Z\B.94SH8O)UA66>"M;.JBLZJP%(7L;J69*[O]@&=O=JI
M5%69\@WSAV@LC6*::YK\*^LFY@UKI+!HFJ-KMEF".,JD;^TP?8&,*S(G!FB\
MK ( F2)(TE;&&(_C-WS/65S5+683U'TJ7,IE!/K4'>ZR!+W8$ >C:LC!:-#7
MMA:\X8M!Z\'5UE8U]-F("@S1%(SI<X\\7SQ=%:<A6%?Q&R[4UM496%=!)3%B
MR9.#T=@?-MK#^,I3;4V58$W918966!E2UTY0?)R[$154F"6Q-)HRF)R 4*IM
MJ#.PH2**\A2#^2J)OMJ VBL*?^A:\PPD80[%=RL@%U-5WQUV4G?A\?(( (X<
MS2;^2PQ])IF+;0Y!*VB(O8\E!]<DJ;I;TT&)B7,YD4$WJ'5-8E%9(!E4H_1T
MA4W'9#FG!;]U3QF0XM*\M\NW%+8ZH0,IHBQ+U7>I8H"MO&Y<W:6K:;VF]:,"
M;/7E^I:^9RT4+5$%JWR*KWM+6F$0L3!Q*_/["D3F7KZJ;&CO:NA;?"?/RF)L
M,EN%&>OZ<@4>PIWV[AZ98E2$T_!RJP^)W4?"Q'8EE@[3U6:Z8=I)JV@!8U%7
M9)C^KB!GX6JLE MQCT\D<>\]2=*5/Q$/KO SK]^(O+;(;*+-;M>6"1\B41UR
MJ#!J#+IUG8?*X+9JD1[=H'#92%=>,; 5.XUN MP6'@9R8!NY#"5*^5V<'CU]
MI_A!&!8ZV*I>CDT]%G;7,*?,.<HY,$DBZMKJ&F'M'39$,NS*YT^22L6GN2#$
M$F;8FBMQ;Z1]33X*KH5>_!B^LSYEV.-L=[NPO8J$_5FPQ+S=IX4(\[6%W:UB
M[%>3[I==D)Y0CI!PA\ZF>+V[$[=S[Q%)1$'[?MX%[3D;Y FMPQ8V3/6Q1O81
MY\"C?E7*WI]V_-V_&+\$(J/\\ 2M@"KU[-VC.P5E722.!G!I_YZ 5*1-(F_G
M=X:BR<I*4K]J/_#YK./VXRM17\AW>.?"+"*LKGK1M2?N'2 ;'7N1%DS=,9PW
MQQ!X6'I+[]!Q1W*1Q)D?U +SM@G<PT(F<[@P(1>I9.A%W"C%HSJB*8*O/&*6
MEZ"[IOD)Z@VY!&B5SE)2!FA%M+2M5C99-2*S#O3F9-F0+J9C(&JAP@PQI_6B
MAINI^CN1VG]'SEGM5M/1VT@OC?!#?V'MA\3!=C-AI]$Y/?6E75TM'7NTZI(F
MV#7T:<,[IXJ^X)31%][A$YC8D3_RVIYV22KV\>SC>W9>,OWZ*'AJZ@OLZH;P
M[=M4>.<\XNNC<UN#-HM]QM?0'NDX%AC?2C)0F+*NW5NO%%:&_J+,"/-FV3/C
MQS5QVL6 O(=%@=GQDI;43]*(;A@<2,^=IB@VQ<'1=S,(>N9WZ4U9KI>7=K/Z
MJ80>"VN3O).QW>,HO%VS$5)9OR4XKS=A L"5V99OX>$5'B,\$6%M\B;PK[KQ
M"Y\F2RL%Q:Y&R Q8@?TK>5NA,PS=:/ IHEZG;8UDW5CI>++GM([G^&,0^\,4
M]"=@%!(./FH\Z+BS@?RT\:+T#VPC] *;J1N;!AY"HB?6A/G+1*&]F1OPO0T+
M&!OYSUI9X<\->O2HJD2VUC #H( 5Z$<;-GH)I[\V8>FP3[-I8G]F2@ZT>],;
MGA%PA[!!</J@@EC$N1.;-P/WXS?ZEIPOK&3X6E!)]/03QP8/ S:";WG@T[T%
MM4U#"2VP<@:X"_=X];N'VYO[]\)*79M"))UMY;W-O'1V5"3WUS^1V<.>XOQY
M"W&Z2,X:.4N$5^#Z[-#J'5SOLSG\L[B43,5\6,&NSFXU[^NH9:%N?IK 63%?
M]'$A:?WV'3O%AL\<(FYV8E(QU@!K#7?;D?]..X9C4W'V2D&"V<$;@!CQ_XK)
MNH=;,( HX=5O_\[\S?QT88ND&HQ"7Q43H 8+%0-'XQI'P3@*KL(5"B4Q%59Z
M@5@)%N><R\CZD@BS-4$6XVT[9Q\MV;WG$FA ?:8 Z9%WC46&O)FT,8&Q*GC,
MPI@:JZX-([1!Z6D-1V/D6L+$3'[JM4?3Z)URKS+O,Y-K$J"W]5L1>L0KZ)(>
M$SM<1.\[>,PGYM*U+_8?%U?.NG#;Y8CC7<."Z?/CCR8O\F^NGTQEIDBHYGQ1
M]2=);6S;'G$T]5[GXO-<>?$IZAYMD?=?HDJC9*.WP2KJT+/.*#(+"+L0Q\UV
MO]GI957<]^'NBE,'C-"F*O(LJ=>:93^7K<XCD1>:KNK/FZ^:G+9_Q_3'_V2B
MV;=CTN/7'S=8:[R-G<L"NY<)]]\O_=8C#-VF11R:QPP$MBNM0*^%L0'#!T4B
MFDD&'/P<^>X5;I?UL>M<:S?;W6&G5!#C_X )<4L#U#S#>D;-SG2\!L%^ L>K
MX(@5SV93Z^0!"U@O)$6X6\]TH-8K\D)4G9H[ @W2G.JMAO#-F@GO+F#1+MY[
M;!,/:]^"U*XU^$PT4$E5CWF'4[&-0;3'3(N^U+;ZT-B2U?7,;H#K5*T$4?\4
M&#T*#(TAP>6#/(RTQ;^(Y*U+X*V4H\X,Z558KW0M<&:X)6BG-=&>1=L2=39J
MD6D;NDF@/CE=>Z.4;4]T"!Y@?!06^BLLOM$0< !FQ.+&FH57EX.5-H@=:@3+
MA ^$$<,_[E+-%!,X.:5QO >NDA$:A/;<17E"0.U_UE'=I?MDD.>URJUP>,$'
MV&//#=L;,6?:,6P!M?3!;J:W4D"@%P!^;@G7DKR@DP^R>1U+US=JF.,2#"I\
M,(("U]T7'LR[!8/T$OA^@H9IJY+ ZE1%IHN";VWMC#K8TQ"&=8^W@9KXMG]
MT%\U]C%'(2Z!3<(S6\^EQ.:^!"%AV@/=)>-\E-X(=_EI\O-4_%KLIE-_MW%#
MZP["Y]ZK[8"^4"87$"(/+XS>UH@J1J>SK2&AN*EV>-3:/;EA!@/?Y2#39;>-
M5Z8'A\=EJ%#>,PP[ ?G#ME >(BP4*4B[8><;]%Z[^P;CG"!S?@!DGW1A2EU5
M[)IW%]/_<WGQGFH@,8V=48"Q<Y")$U0KI8/4UQ[FW[_D<!*,V>FD%+.GTXYC
M]D3@] *IJ_\1UX_YG[9<%!>);:)^D./H]+:[%#MIW!K'LY,.T?<C;MD#%M !
MK5="XC-&]GI4 _;>P;L  D-C-R4?Y1V-0$?[[2J6?1+YF$:B!39 =T>%')26
MS-8ZT R+L*$.>-7!YA;(((0G_%-M<\ON%0ILCIHK*(%7$C6CN 1T!;&Y MJ<
M;VP@.>8*<1Z*;XZRXV Y_BC'@#L "X?;>@B&$#/O'I]TS0Z&"S+Y^D'5'@OK
MXE@5<97.#!RU=A/S?%9"A"UX  2+,AL'0=7-S@(:69J2_=9N2R0APHHL,I&K
MY'Q)GSFV$X_\VYS^@>LXV^.=CQ-QO[BOH$05XPU71&9GVUV1J7")WM+PQ<HM
MI!D0(']G%!UFU(#NIX;.^!U5?*OC5Q)L=SNMW?@"5R'79GL83$:]R[*?F-AM
M[3;NY003<Z_M50#DKNGX,**9'YO(?(0-T!U0CT+M1L7C<+>W]]DRA30ZCK#/
MA HF6TJ.F,0;<TOW2\S4/;>FDKF8ZBHH^'A(=J,;#,UDQM5 A9BI@#R(\E3O
M)]#4[93RFD^0!\"O<M'X2N ,BHQ&C SC:#BGBYS ,-C3CG)&A6I&5KJI6#1J
M4P=+!&]T(C=5#,[F=I&"&-\BV8IE8I,W/#,E=A;T3'FQ$YOOOMP\W@?6=^)5
MR-R*6^W?[31JWQ,6\R;LH?/5]G>84"W<??GQ\WOD6Z*3H[<6[*/[MB@"%WN,
M#]@#^P C<V;@^<7W\\+)A;J;?+EN7MY?3_[1G-P\7M__*4CJJ[0Q[2P4=)%K
MQ+= 'X4%81GA6)Y,X"E4O[7I'[AO)[N*?W4A? C<F[]?!>\-W?Q,=N;Q=@JJ
M\B_G+3/%7*G2!I<1_=K-)TRM#PR5<G= $A8&4OQOEBY?^ #_RE=# ::@X&$"
MVV:\8OM#Y]S!_W$8 @*.1&B"/E+Z%)D3D/.G#U*BS:<\Q$<J7MJQA>#6-4&)
M,+C0G^G3V4WL.OL]Z4LCT#!C3Z0C+8(06/]@$%C_(.24:._:[@V;^_3T&8,N
M(XFQTZ+4R%?$&Z_Y0#2,[*1AFTY)P[S'Z_+)_%^8+J;/D!="/RRHCYON;#6C
MQ/6P&^#+P7 LP%;_+V^>[.-F16P+O,_CT3W;Q':);M+5&DST3B]Y7WNPQ,D!
M"OBH'6%9L*5 +3%J,0*.W7):C/UQW5^Y1Y.&AE/WZB%9 !T:/+0=UHVS=0C-
M9(3&?#_H7XX (,Z)EYGQAH[1*3O18BQHG-4D?46EF3N45FL#P[*H;Q\4)89\
M6(\&C1B?85[9'G6>PM]FN=$G&_T&&V?D9,1QP&2^VN/RA+_9IS5>6D.5^%]8
M&$:X 3K7Z=%R0_AA.\\G7$&$WVC*'&RO:1&8[$JBGG":0L>"]-ANF%3/?MZ)
MRWMD-P8N;UBJ3_0Z]EMM.WMC!88.2Z:SSR 4C6K" (NETI0T;2VIZ@8_E0P#
M+C31M9[1'HG]>";9 UE9E)"2/=8^86#S>R+ BS5<^3T32/RV>$AC@LY+&G@\
M0#,62*9K&F<XG1Z_:JW1;!\[=<,@0*3R0C+)#*V7&9XFS-  X@R#!H/3-#AC
M1CW&MNVCL,!$LQ4O!"47V1DW#3B7E^.^FA)3-2UGCUDD*RZ;1BP\^)$QL1&O
MB93._?9N+I0CD(H4U'=\Q#>&OMQ2,5/)ZN$@(GP9F"%6W8!;9FOXAI\6?F6:
MOW#'@6F8]I$=/1=E^9CTY'(^)_2PFF:+FK#Z-DOSIW1RB'KR1%GD<?S C>%V
MX$;8_@0<9$REU?4;)O1,M!D6#< ?]YU.@ 103"MN<)NWGDE@:8)$;MMAE%>(
M8]V'[3E A9TYV?L!XGZ^1B%"#[K95N JL&1VW#H<(ON-\A,V7Q:K99]@&60I
M*?1(+$:XN),-?)Y\B!4@I$M/\;\"[0#Q0!=2!CE.%9 725UOL2N[8J%=@1">
MK<B4?26K*ICQU'K#5KN?5T7!;<LYO'S@,+)\8&5J!NZL_2&5 0^L'1;#01.C
M?GWRI^RI4N_S+R;%;)QB](<0@+?10X029Q]M,(4P5L^'>C=RVPWOJ5%^.U),
MP;_]J\69T:#W>V:+GJ3G0F41&+NX77E =<,=L@%HHCJ(]2YFMXN=@G>QF**
M,4"1%;]Q:CTF*NR76H:F?F"B5@EQBN^E>F.4.3R.BOXK_S A=BD^>IC0Z <D
MB.2ZF1GCY1P!&)Q(0X-/:@!6L*9T@6S^)VP6-MCX+YG9335X<0!9-S$<H-K,
MO[@RSWEJ2N\BJ3>B#53^U.O!!R5DCHYKYD1.5<^U/]IU<N=(P"'*V_L:U:6B
M.J)+U%&B>CS.$]6!G2X#9-7[$[5&?A#+=<VSAD]5%TUE%0_/=621)!W1O"1_
MDO8\@-[*V_VFHN7AN#$6TU<<3T[.<>J*UR"O!,B#>FL4)K<R!GF_73609],*
M\?!@U](/J=F),U;>]@8C\E*RNE, >Z&K@&G3?T[MK: &@E)1V<FVJILLK=4N
MK<VSP$W>-&XF6(9$<V Q+UQ9+LE,8=$>*RSH[92/<\K(8EQB2_B))0C<&+U&
M\)AH6 *K"XX]%F%BIEN&=JOD)B:RZYA&I,N_L#3,,\'LHH:@S#UIZKSH'@W&
M4S1!5<@:'X@3GW,L2RI[4\->-_BK-3V9[I[(0H/.!5>>Q])O?XFEGR.#7CIE
M!"4]X/R"/"Y39_13.S;-=<+0N\RO-.Y43%<OIC]HC4=M<3?X)<'>TO#*Z$BB
M;D4BO?8N*?-II5Q,,;CLSLIVP=LM3F%1&36],PB/6J'ZL!8$6KB;I;$GB=P*
M*4.:SR+#?:'X=5?6\UAW!^YP<FE7>]CJ!X3$(Q@I>&F_!A\+>ETH\D)PUMP,
M77&R5-;+W36/7/( A:* Z/J ZOOA"WW')G9(I+UX\;F["_'?!>E)?R&.?$(T
M.[B-1FI @<7BD4H_I$N4$HK=5C^(\+U0W,]&]X1'WY G8RT9FW@1TIU1@M2
M]PVLC/UO(M.L!7D-XP%]9R-(LW^O61%:LR5\G6.=7>D7:;Z":H -?[69A-\A
M]=#".\([R82EF2L:BZ!F@:T\S^"]H,ORVN"=312J:VB$(8*I +"5$G8PY4U/
M;.AB_#\V RDX=KS#K_(W\U%5.G0^5%DQY/729$4QL#JO0223D\&6VL'J[;$:
M00JFB=#@0PH,+,^5?]Y7B2'K/+A9I=DD"8H&7'R6TA>ZL'/9I6CD:#K;YF?6
M;D#?4G@;H&9;V_HOUH5:\^D ?W$*2-$I/MM]"V8-6I*+9QXUX$*G1!(MD/RT
M<2$?PAYX3^V9#IMB*;);OAY[4/%L0K^5$?B8W1%XJT#1 MJ&W3@'1D,-=1P3
MC[!FY$F ^7(U968/;/?!N/-/H%&A8=*PDZZ"GLEK_.Z,->@UWH>RDG8*7HAB
MW(05AU71#3!K: @O?RY?$7B&4RTKY,I8(PB>'G\"()XPK0Y_\P4<RT[&/T^N
MI[873L#SH.V=]#0[V\-0>>H/'Z0#869B:9N&6YQK#9<YWU<>&72XV[,J"2,I
MQI(O6DY:5/R=.QUB5U%4_$P/5]E-[^(Y6VRCG1J+5 \Q"*\.)B579&@&(O58
M."]BVJZO]]B.V4?E$0(=FT1)LFQ@NB@3(2M)F3D9CC;YGO9.T][#,=+ Q7YH
MU\B8(,'\/JI_T2W#WG+P,W9R]+NV%/:+*F&=1;+2:1X@379CFYM0F\<&=Y@I
M%&7];-=[*L8OLC\[V_.\QP5 $EV!KM5X.W_ &5)[Z1'8]S,^/84A*09:D@XO
MW/: :,([Y3T#+)5Z2+L6  SW*W*12W$^I5OD1^:YO9(V9CI+M!-@AGK<P28Z
M0:@;5HCN/J;I%M.+8>50%J%P;/CZ>$2M>/]X5GSJSL^S^"E=4@& ]BZ@;R<$
MP@I5THQ0:A'SWBZL)EZ8#Y_;PJSLJ^67?:!4S4R>1ZA2_069WY*=,L". AE]
MI.]ZI]B4=-BKJ&ZT\PZO/NOYDI$Q:F6VE(S$T*":&+IW)L1<:AZNZ(1:,R?R
M/4\L3\X;V\ ; QS)#F\,<BC3#%6[Z<\3<=+:&WO5#;B!6;FLM(^#0,_6T1,B
MOJM?P::=,7L76]>J*E-^-\QT03'KN9':'T@!EF*ML<.14^\ATI%D5X%@]@6O
M+\;T*F#Y^"(L8<;]N7*8R\5S0L15,L\5=,GXPQPSR?;@S"*</'-!H;:%6RN
MY7/S3V%!>,*NNPRGK<@]>I5C2K.P:K@^+T236#XNRFEEJ5C!:I/TY"_C:_\.
M6Z2O#9_3@V(50(]\DTHQ:X$=@?]T50/8PC45;HX?QH$KM6$]5B+:GWAVAAGV
MR)*88XYJ;]ML$F&!!4?08L7GJPK1BLZ[%D?EYUW?>8K;X%8]KQ56(0/H9/(P
MC=(H1KQ@23/BFAY/]*1ES)#MT5+NK.BQBY?;5_@,+#\L%^J5202-:5:KD.LX
M6S0_)[P.B<LN!5XLGS'-)V4.!AU]A)/@O]!-R]/]FO:%AV\)<4I-NZ7EW<M:
MPD^:QI_EHL 8&4PWE+\0N@0LXQJ@*U.GC?".%CG2FO94*)L&IH62;@8S?<]:
MQ[GSP1OL+^T5>B\LUS!K7!$@,^%=E#>='2!0RGIS?2N4L#QN$OW5MHLH846Y
MWOD#EX187 Y1*Y^>0MA;%SQW&XTMX9(R<<?BWV4YP PVIH(M]2Q:]WM&4(F@
M]OZVH&"23#&]4\3:F/XI@>#68<P6M2_I(V Z,"4I8J\XKV3B)A.D[+VDL_\I
MPUCEBHH;C]CF184FM" /4)S*"3]PE^(8-1Q2>9#]@X+L,(3Q(*9-+X!-65\1
MZBI@XZ>O![ZAO$C48, :1&L:'>!G=1@!$Y_?^7B<W< "CR_8T[F^(M'S<!NI
M\")=PXFOX_"QWC#&5MM\#!5JWK;*4Q(,X'9+)W%+E\+G%;>G[:-24"J8P@MV
MW%J=X=S\$V*..\7 _EFPVZAAX":J"E<P2JN;XM/4SK=$;;\N45N7J,VY1&WA
MEI!3HU2CAPR)"FZ-BHLA"HR-FQ,<\0V5:V2*>8-?#-U,5Y>\UPH(*K0K:B%G
M!N/,Y&M 4Q2#0D)L3=+NY.(XZVF(I\F3&UGY38/(^K-&$R IFS=8?36W?M=6
MWHG?^;^V0"3\UW9NNAV6'"<)J'8+?>8<B3X1_B2><XEMJ9SV1?ZAGHZ5Z/P5
M1_%'$E2JRT0U"*!D+3Q=L%C2%GS ,$;=.-R-Z3NP+;A(5R[EN.SRMU\U[)$V
MT6;V!SQU[4HQ,8X.E+>(2EVCR$I=3 HZ1;KJHEU5*Q,UJ'1YE^U7NF^D+_0I
M!;Q=KF<:?!:>]@W[:KU$?(5G-6 [P:<+>FH"#&&K+-B1%_JID1 3"0_*6W5P
M4$P-B61MK#DK[K6C2I9EW!F[+FI6!I74%<Y.<4N++G=6;VE-I?665IU*3Z ,
M2!PMPC[T9<'F?K? T54)B2B,T"FA>-RHW=N-IT+O1,_OJ CI2IR9DW';SP%O
MN[;#CB;,FT9=/ZE*(6#^;9Z5$$ZBLD?E@!D0+-KIN,#LU,"L@5D*, ,B4 -<
MNT<-S$ZC+>[V=:Z!66U@#H,YIGA"'+-D8)Y ?=@X&K=WF_#0\FPKQ^9$Q[%'
M%TGNHTIH[EZLW,Y9D !0.@T32$?BA58M"ZNT67EQ= 8 'U?" J@!7@,\'X"+
M 8TN2[ DL@5X[^)S3\RSA'\-\.,!>$"GT!(LDC, ^)D<!3SJEO<0 "V1JALB
M>910+HCF4Y50'HD!Q2NJ<:*0TD?;$3L5*Z-< [T20 \H(%*-$XH:Z#70LP1Z
MR!EQ^2<>*7W(O4Z>/N0:Z$<+]) SY_)/4$X&Z&=R@G*]FRF&R=45-U9*\C7L
M(<J 4N"YB)S]19YLPKR'K71V^)"RZ=@N+R A,M?SS-]K_"7#WS"P)5"-OQI_
MQ>!O5/._&G\EXF]<\[\<\%>-5FBQB@0$#0BKDGRF>>6\'L__Y2W*<7@F_(25
M[+%;X$U8G<IOO$:/0LR)-J-U@3P?N=GQ4UK(VPK.CQ\'YL<G3XILL-7'HO6&
M,H]>>N=O,TF-A$]/GVD=RJAJ.5U6!8OO E\GP;,J[F[RO)3PV?ZQ-<\_MJ;H
MSI!.T),=XYD/KXX 8R_ES=YUM$N*\T51W46AQ4<5$XM(\*(<;BT*K!%%RZG2
M5BRTOIO"JH E*S&1ZYQR*#[QP!L%WLYWJ2V\W 0^YP3+3=@UAQA_=NH19>6X
M<,LP99*7E^?CCB3?[Q!1R.>P+\5OMYF0/]?O\%W8G_17[W01.WU%9*J="EV1
M=9DH>;>9MAB?"\6,\\A@"ISK#GI1E262;9@KL%?2Q@"Q'+WFV5A;F3XY/%<D
MZC4Y-<:.MNXZW7#OPIZH*K9)#Y)*2W!SE3M=K^I&9S0.ML)RWY>\,%"C"]$5
MT'#6;J=>&+K&C6$[)+"A#'0EY>4%:I19\V^R7*GZAF!91(W,%6_6T)'06NPG
MET-> 85!$S'O:[Y!EWQ_#B&S;D/LUTS\1( 5=.::A&]G"ZS.8+>A]]'P[\)T
M\>SYMVG1?CG:3%!U&7LS26^DYN$9DUK0\7(L'OZ(N\']XX?0E]AHB[WJT%>-
MID/0%'18'(MQ9X6F_FA4'2Q55M>V73_,W>QAOV]^-NYS9"7S:KMLW Y!RXES
M1\XE-R,X@Y=F0Z%1 XDDU:!S]4C&+TFZ8BM8]E'X88P_-#ZT<GMU/B\M%Y7=
M=E(!DCTJ^^-A!5%96;W?,Q'/-#(4([,7K/M"W?%+UJ$E;SGBFT<!Q)KF?5G3
MJ6\,D23:.41P>$-H^,;>\7U-1ZZ#D/BI*NW5J;^O/"P&'1_%%A=98[$CAE16
M*6NO:OL#[0]97RX5D[;SXV5["Q AM=*70.D[]!S!0\@WNC%U]MOD*6P3;4;]
M"^E.ASN%>!2.%3KGB-=#CR=RQ>NX6YLOI1Y;K Q]3NA^2JHP)_611<9.YF[J
M(PN^0W>>#;HAAT5W=*H4VU'#ZA!8I3Z[R %6O7:%8ADJ:T;DPKNQ/ZOP*AF&
MI%F;FG5G2V.)#QUL&KMC&_,OOB]TOR1UBCD;REPALX-<OKT*Q7?4^#H 7[W$
MQP>YXZN'^ JIUW@,S/R(%7$=$S2/CH.G*<Q: B%F4J&U)Z:5!S3Y=M></BQT
MI,BCA"3U56OD5@^Y0:=@L21-#LCM#HIT4:9![AF8$*PXL+2;['U\$NC@RGL5
MH.IT)?AZ01E#*8\B#C-)BLH:2E%%KX9QY6&<X0G%03 >-CJ=JL/8)YOLDCB\
MBD19A7&J406'JBH_=$U?$4.R8'F_:K*^Q.,I?E 57))#3%+AYO"5BE.FIN<K
M4T/G);#)T/R2:[N=[]Y*,=F,-T%IFHQK+/'Z+6P%%'<%WO'0B/=%E*;)ACPH
M'>=0?B8$]3;DPTO1=(HM1;-3B,93AF;<KLO0Y%.<9%#IXB3;KW3?2%](?\VR
M[7S$5X\+@Q!A"9\N3($ K&:"7<&&ES,YW0HV-4AB@N1!>:LN1,IR6D04_0N8
M#N?XO<@2.,D>Z4- 2(EQGWY:UX8JA[+J2F!GMMME5P*K=[NF[7JW3Y.V3S(R
M((XJ<Z,;!(8LD#=Y(6G/1+ ,23.Y6_594C3AG:J;YOL3.,B)X]D6RXC<Z0^"
MFWSUMKTV4<YKOI',8RUO'MUM_ *[^ WV\)+,X9I'Z2U=5*982+[ZB9Z^E(J]
M=Y'@&P8WWMIJI5@J^ 03'@X_@:@HK<3)^QJ ^3"_43#SVW%9E\G\Q&$AV:TU
M\RN:^8V#F9]82>8W$@L)TMO+_$XRH"F.LOQ%A[%KF"0OF.LG4YEM^#'BT6G'
ML9]<BDP8M ]0B&F5 W>G'MA&L7/,=$G08ITB<2*X$@_0=3/'U:@VJ$X$5IT#
M5-@<8%7CZD1PU3U .\T<5V*5LKW/UE_+@M=@#YI.B!9UT]8::+:DU\O );L3
M3(?VH(D&8<KR)KV:LY\(O/H9.%TSAU<QQ9YJ>.4/KY #I40^U<SA)=;LZU3P
M%7)FE,AMFKUTK)";YGQ=I&[(@ "HF2GF2C<E%?,I)-C9(^Q#E75F=TX4&WN8
MD0<B@Y#3N$1ZKWWL<:M=T>U7\#6W\PG=?_&P,Y!RNJ6$!!(=UYGP6>$XY& O
MD8*=)XZ+;/ZPMVA!C>.JXG@8<A*62)//$\=%UENM<5QE'$?"..3@+9'!D#V,
M/W?+,1GJN.2]=@2K**-[4[7M-&VP+!J"1O+JJ76L13D*HO]T13F&(4>DA_G3
M?<GI*3L>B8-"1-A^'M#-M?)\C>J40XQ6ST).: _SXQ\(ZYY'/1-'Y93?#$'W
M<2EHIPWL2%R'''\>=H"0";LNR<M;L^OC0'4TNPXY=CWLW.)@6+OL>M II/1]
MW()A$6'?=:TP#R3 'I55W5P;Y'8^U9<(! GW[IZH6"%JJIN6^;"0#'(IF6Z?
MM>!"2MWJ%1#K^PJ(T8DTZ4P$[V1/LH 8BLG/U_]9*]9&N%,ES01X%?-2=Y;Y
MOS"P3-KC@M#]E;0-'8LX_F@"'Y8,6AQMIAA$MG3#I!743 M@O-!5X-'PP6IE
MZ"^ #G\!-<)6<86KF&V1-.<O'?F^Z37Y_+891XI:95N,N-W^/:"26&+)SRN.
M>9P]VVX<2U^E>>RVY&#+=8!B$B",1FD>F:]TZ,MS3Z6>TJLE!PT3*26R0(+(
MRF$(G!6!R@'X4EX(94K"NXA[&>W*']UGX"WLT]E'3UX_$^^V7/=+])HR:LJH
M*&5TQ,,IPWY&"LHH4"!OE_TL1Q<0%-/$(N]4Y OZ"E4_LR%@ZWG0GBWG&^D5
M- 53>&>O\OW#Q'36EBH-.[>@U>6[XZ?G#DL7R'*EZAM"X'58J'6M6A*HT?19
M&!!O?^WJ)BWAP3-*>TC/1 /+354WP@N,0, 4"4$2/F%E'GM%FR:1F\I;<Z',
M8!W^M.W'D7CQ>:ZOC4\?\.+/S0V1#%X0EHYB(0'N)%C@-V6Y7L)*&DO4E6(]
MN@-8)QI_LH!/WAJ^">L#[!>U*I,P-8J]\(D037C&UCVPDJ^*M8"Q".2-&+*"
M%\(2$U2^)!77D.IDDF(@"GX12WB1U#7!2"W\8@;6BEWYECZP)8"AB[?2/D!T
MCBZ!L<'=V@C #:97X+Y%T2R\>B-0@GLBSKCGAK[T3JTEW,&R&O:0=Q11!;"B
MP)16ZR<5C#9]/H>G@Y:I:)&O?B KBRR?8!E1'C;8,$+69![\9H;5A31C"[]0
MX ,#91  :D9PSQ4-)O2TH;>'*,QLND"J=(+X+]TXO .[+ID6=N2FV F?C+50
MC!F=0',E&<#[<-S4%!/,%9%A=> Y9JL4AK&K7(.13=YD=3TCML\ [&^[VN_=
MEYO'^\B:6!Y-PBW-ZWG"8MXT]%?W9'/K.]1/A+LO/WY^WU]Y:^>H,FREO.>H
M$>;S@ D7QXMB^QVV?O']O' TG+O)E^OFY?WUY!_-R<WC]?V?@J2^2AO3]HGA
M :I&? OT45@05B:Y@UH6/Q_^K4W_P'T[1\?\JPOA0^#>_/TJ>&_8]F>Q,X^W
MTV^*]LMY"X:-JM(&EU$%:FH^H9LD4#]P=T 2%@;Z;'X#^KSP(?V5KP;G&?8V
MXQ7;'SJGTOZ/$ZA"M&HU4NX4_4@:!KQ*B3:?.K!\I.*E'5L)V+DF1U>$C]&?
MCP.$3SA R(8))4=!<45U) -_U1EK4!R9RL0Z2@A72WDB-/R!2W0*+\G$,42Y
MND?Q:HK]-4&=Z'&S(I,WQ6Q>\PG0'6?S_T[%Y5__!%4)Y"N[RAW)K0:JX8UB
MF-9$TV "ABD9FRM0(VYLOP]\C[_?SK_@XK&G>1SL=VN#[)2C1P_C$SH8O?[%
M"78G?";H.KW<N)=P;RJ=!_T?'^D]TKQY!R.%;Z5GUS'?[,3TS(-&UMD];/K=
M5@Q,'()IJTX1VSS'Y6$;+;F+Q)0MUSWFU;\HSB@*(K<X7JSVX5O\0); %#50
M R\ET$V.:0_QS+#3"MQ%L <$$V;69%,#L0ASPVTPB#0';: E3$ RV;HW>5N!
M A=)S:B]XR93W5V@S]C=U:JH8P6X79G9Z"(<5A=6?+U<(OIA/6RK#';D!4SW
M8GW"(2IJ5GTTW-,>+_P]-&=.^+0C>FKT\NZIX=,9HW7?R"+J =TS=EUUAV4^
M95HOOC/X/=1==_C3Q8"'!U3^/>!%N^?CWE='V;^LS&X@??VQ]?8_XM3]]57Y
MW2V+G_NZUIM6;]K>3=M;8SNCC1Q$=*'8%EXQMNF@FMK_HC8OF?W_[+UK<]M&
MLC#\_?T54TK\'+D*H@G>&7M5I<B7>)/8?B1E\YY/IT!P*&(- EQ<).O\^J=[
M9@ ")$B!% @,P$EM-A0)S*5OT]W3EXRZVHW#KV+*&B*M+*;4%5,JIJPE4_);
M1XD5Z"H;+BF2KB-)JW-&G3,UQ:],ROT5"'GCGIX">I7,K2'23E'F*IY4/*E4
M>Z7:GRI)JV-&'3/U1*],FCV[-\;05U.AN*$<K(SS9N/WABX,R[&<>X7@9B+X
MZO[>H_=&4+Z$5F:#9&;#*9+_EY#ES[@S)=^:B6 1^ZL4T(;:&*Y#WO.09(7A
M9G*P<A(T&KV868:)#*%A*Q0W$\6? <.6XUNFLC&4C7%D\L]7X%M&+N$I>$=C
MD<RR\Z<D&.M+&<?UH"O"V(LP9#)^CF[<*MJHK=#XB#5@_H7%7Q1U*.I8IXX_
MK)FB"T47&W0AD<!0MIL<MEL%_N5NV1QQ;F'A$S?T#6?J:X3^,.DR$-7FID9@
MO);0:9&S.U*M"?]K&&#U.!0:Q C(/PTGQ'H;.FRZW>EF(F1;(?F]%O=<^=-C
M#C[.T77@A8RVLU_&N+?6IL_BW03TSD573Q3*8=%=F95R-DJ%;%;*^76]4HXH
M))) .+^:/:SW^V!+1\JB4?E, ^5:D6767GZ6ED;U7#3ZU^W[;]0[-J5&07#B
MIBJRRIG;)J;?=D[Z_?SEX]FEWF[U=-E(6-8+F(/NJ>6-2=^]G=TEH!E@F?)>
M(NJ4:"M6M'4+$6V'E*L3HNV+ZV Q:3I=$VRLZ"&KAVA8'K,4#Y-N_=:VOE?J
M?*Z%VKBUJERJ_92@V&)I<_NQ&X<J)R(*[JBWZ)REV:N7(E6L8/[+-/2PSN'9
M9;LUU-=[+BG";)1T[>>5KD=4&.. B+0073-Q_I=Z[M3PY^O6S84<LE-&_YQP
M,(J.+"M?PH_M'HQ4 =)L)T6>M9Q=?G2]&;58+LRQW!*)_25V=USF/F3*XKE\
MRRIV-4@<]X;[]OT\BJ$HZ"+TJ/_9^<;Z:QS6WKU7$M]O@?5K>>BKR22]DZ+'
M!W2R/=@!XN]/V,5[0H:M_I:FS]62Q5$/J>/X29Z?]SB5A'/.6[IGXT5X4,*O
M;.'7SVI/_R+A5X2+)"T+C^8RZ;6&95UIU(0F&\T&VT7A1:84/"DT-!KSNP3@
MWO9,PHMA&*[U8JF7TOCJX,+(@6L9HRVJ=&,DW%0:^6?H4-)M'SO<0HF!?<3
M*,.#69(OHZ#PC,Y8'OX_T2GE(.5Q+E*N<13'J&*GW0DZ+T10AG)?*/>%3+)N
MD!6Q5HW/XFAA'?V!C-+NI*8LF]9?TF"PZE"006=G*$BW4TXH2$THZP2(.5MP
M9\7C[?2UG&S$2''NEI.)&DGT)E;N%BG9OU>=NR5!',K=4NLIY2#EK-C'4MTM
M"8)6[A;E;E'N%B7KCB7K#KDL71=[A5R:;I=YRO'2H"E/R/&RG:*W.5[T-<?+
M2#E>I)Y2#A&>^W;PB 2>=KSHS?>\G$R@R[_870@QG"FA/Y;4Q#\"E^ 5B7*]
M2"$ AEF%2$IRO7#JN'*F'P1MW+GXE?+(-&5*.2B\F$OAH]*Y<M0H1XURU"@1
M>"P16$1:3R&.FBVB4#EMFCOE"3EM]C[H<_IRAKOKJ2A?3M53RB'E<U\]EJ_@
MQBTP&Q9D\R:8N-,G_ MW>4G^/T+(.C,2_AK_+;NJZ]JZ,E:4<LDD20U+QXAO
M+&=*4?OK#E@AF2N?N#.RJY_\6BP,Z(@:">!72AX-G^R@M=$XG]L@@]8^+):V
M^T3I+?4>P+K))KTXC)91F7_G!H:=_/W:]8,O;O#?%*8QW7L' #6]#5SSNR#(
MF*X&FX(35(9'%P:ESCIU.>X&><%6O'@&@"-,05PV!W-H.3YM,4=6V;A-%48\
MXN0H<2Y!$V1 =$Q*&*K(9P>+/%L/E'RS#0>@=GG\A43,5P&T 08K@%N7=W-*
MD!H-YXD8RZ7G/G"WYCVJK<0#P@6V1U?G,@$X3CO(&3XY9Z/IYMMOMW_Y_//T
M[6L< JC2<CV@+6J&"%^? ",:((^\ )G9#3UBN\[]10!* J'_":W@"?APQ1@$
M5@/+0):'5["D\\QS%\\+ >!>O468",#=.5'+5L([)N$GF&8!$_!]!',C %//
MMDEH!\!" ;6?R(02R_=##@R?!H$-] $[Y("!K]EYXK,E"6SN$C$[_#;_P^3"
MW=.27OVP_(L$@3)YXO])<?W_<X/SL2?^!"UK$2[X]PD!]2T\T,#9. H3:V!_
ML_,-OD1& 4WOZXR]<;5P0R>(Q=-%9P^/YF:-EE<<BH&; YJ=(J%I_*@U-.$H
M!V;>!">2>; B_XAL\?K"\N%]Y#K+@6_8E@B V*1> !I\BM--8"Q@+H. 7/"
M>7<P7S#W*&\%<8'*/%E0PP<8(AAP2,N=M@CR8^;P\ U;+6,Q .)J508RZ\1R
MN$@0FTJ.(40)YV5>@A\WB8^QLY8PK,Q=>PH[N*%!Z#DKH75W>[.26=$BDJ/S
ME3.Y!*-,04X$<S[V[0V3)#'08'3VE&.AC/$(RMT?.\9LI>4)Z@@Y2+^7[?WH
MI8W!G%R BBW(5?:,^/S5 1S=S2T/5& 'A+;G&][33N9XL<')F8)/?X/&AK]B
MCH/X0<_F!X<A8B<%P[89!7-$&"L(",*S!"-I<)3YX8*U&3#G%GW@9"ZH$\Y1
MVS)1B<XD]A;YFQ+<+AXUG%!GV'SI >5"- :CC=!G,Y _$>/DVO!L.(M 6MF<
M&1;NE-K1OJ:\JS%?7XLD<1"I=\CX"0W0,U#1?^*LC4/ 8[!N*X#SCNFS@E#?
M86./K;? /\W8/P"^%H=:4J-(S/;N#0YS"?N*EN/'S)%+JO#1X=@.YCZAP%S3
M_/8 UP90+.QX!0M[)F8"6/Z\DQ5'!;+B;COCRK9=$XDEV\+XP.&YQ5#8<1#W
MT>.R65J9@/IIXW818+MAD%5@KK."0:<F,-B\71+4Q@&AH2*,W@ 0!_:3H/-<
M;'%V62P[^-8/1J)$&CX8MSNY'/+2T\#F%7N*!IYEAG$[ZV8B5>&Z'H 8;A4(
M:WQ0E;<@A^F\GXN,?;&KM5#\[VBYOJS.D"T+V7SF EH>\<BVT- %!6$A5 =D
M<X3E ]BXOTBW]G60%G/WL$&5&Y3.&.&OR#LFP'.'>M,=3/@KD/AW<7?0Z77;
M[6[_#-0FTUC"3($7TC.^7/*.^2M%$SUVJV92VQ9NS_AO$+=F_+<-ZAM W7+8
M;&?K#M=V^]4V2&^E[11@\?888]ZX0U6J[,7B8PKRM%!\ 8%G%6S?<=[Q\(!Z
M]7#)A9-GI6DAK2SSRNP4/B1I1AE=2.[1CW)_H"IVJ0>[*)Q4B!,9L_;%X=[O
M-*(7JZ)8=>A*<>B*Z!_N92_]Y%7XD58I4JAYEG6B0*+CX4;"@UC.PU=1ZW/4
M^B6*HU"21#K<L.0:O E\?U1IHO#S0B4)<P 4>J1#3QS(JPYB=1!OHU9QP7#!
M<0"/+7\0W[6M*<-<6R/XO]?R$#6/=BR2HJ-0\B0(:BZ"ZH94=T9NJ$T-O]!3
M7B&V<L2RH%"%4X73%^)4Z1G'US/T7H/4XG,+XT?=T#><J:\1^L.DRT#$44^-
MP'A=I3K\PN)".19U>.Q2'G),5.0F1D#^:3@A1@3I!U1L/M@6/-: >?)$#Z+^
M73%VF:D?G0N]<]'5]PZL*[9 RA?7X1E['U@JTV?'#[R0]44NI@O6<'!X_O]!
M>#B*JE#H*"\FOT+*C4C'F<6@_V>I^#ZKJOJA?'^,\DB;3(_)QW=SPRFIF\Z@
M-=R,Y*] /BBBSD_4644.7D#4A65D/4O,6TH@) ZZ@XXX7>OU-J//2R/B<FRG
MRI723SSC4&F?^S/LX#BI+B4?18P _,\8D&^YTP.5T0KY5"FCC59&I>3\+<F>
M!22YE:^*IOG_2/KHJ#4ZO&AM(_51*>EZ1\WTEZB@+RNP>*C^*32;@TZTKM:O
MTL%R(@Y1<7FIE,]]6770;K?KH'QN]X)&A:"WLN>60GG$!QC#)W&YH_?>RG6L
MO/B);&HZ5!M,[%V=D<4PWO$*')2O^_'REB_6_;)XE:E]<O*H(NL,LM[1I[A^
MJM^AIXL$!'LB;L=K)!_;IM,W'UUO1JW"79![13P=/DO>(*0J.#[WXG8*ABTU
MYNJC:"XMSTC7SJV#JEEFQ)[R?"HU(:>:<*0[CTJT7W'RA+ @I?J>,$T/FZ3Z
MQHI58U7?NGL]$W$1VGJC J4!2Z@!CPJ4#_6*,M6U?K>KM%ZE]4HS8"4:@KZC
M)TP]5-UCQYL.6Z..TG2EI^,7-QYI6(CI6-.[A_>25;[>? IO4;W2]]=XNV5H
MO# )F;HA5AV64.7=OKJ=DN)(MYP%]EV%(\W-UGVW-.VKJ0:\BX:5!JPTX'(T
MAR/= A7>C3EGR$-9?9J57EP+ZNZ7UK2D=!69TWM]M>-<?6CE;#MRE*E?VOMV
M=].:K,3: JG_>"URXY'X2^O,<5#SF]&6YC<Y>SUACQS1V E1ENJW:V8U9/.H
M;0C;");O\[9OV";1\I--VY(VU(0FVTBQWFTY&K8<V)2L)%SR8,2/KB>^PN?6
MVL:W^SO:QG=63<PB <'Y]2DGXF 47R#N%+L:772V]@9Z9UW>K)H L[[4Y"]L
M_)NC4?(!]6I6U6E2;8NJ!M"!;9]N;O_BZSZEWD_FG$Y#FWZ=9<N'%34Q8F*T
MQ-N /M\ :J :0$GE!RBM3NR!O2=>(JO%XH];4JQF:#C"D1B#674Q4$RAT" +
M&B2YI\K7M&D_2#:B&'5#R:Y^:*CN2%2-EZ1#B=)29,)&8]HK'36<HX%'8W4D
MIWHD284.U19).I2H3DBR8:0QS8_4,7F41)GJ*%-U,&H&'E73HN;@4O4I4F@\
M$(U*"SB$5#$.UW,?Q1_UUD)/N==0"K@I:&W <N>XI385*CH6N(10X-UQO]W\
M_8.R E5N;O^J<WYW[^RRHW7T]M$B? LYM_<]M@^DDN-GGI3,/0>,=\QV*,\P
M8OZ&/GD9L9%IUOW6\'A5J16![B#0_,UY]B#0RI-#7IH_W=/T(_:9DM)@B$P;
M'M69T'1_O"U.J3M*4YZ=*R\Z1_K@N8I) -LU_4X^/ZB^737*81F=?3I:>WC,
M%+#]R>1X$QQ!L7R&$$M(=ZX'TY^0@#FH=9#42F\I#81ZK<'Q#-6:4.X)<4G^
M1D0'J-LU:T?4PTSL?D\&\I?#>5J@TUYU(-IY W"^BTE[![4@DLV1^FRKB)V,
MV1\=DRTS,/):7B+=NQK)\6I]O+17TI$W+@&R9"S#TCNHZ)C4NG%!#9:>:_;>
ME:+_KJ+NG=2=O\-2;73:%QR>K+9>MZ-775^H<H=R<<JLZJET?![/O;C=JO-!
MY?3D4YV?;:VT4WG6CQA[D+^V_(9&752L5I%NY,*47+D/YH:<]$>]1*IMJZ3=
M2FRW-2ZUSJXB[8-(.W^OI-HHL<]V3-JIQ [ZE9?(K-P?&Y^L@;L4/N3H&T:5
M:]]%NSE:^$39'9;8^MF_W9=>Z>Q7\FV[W[X\);KT%>^43_E[-<FF31?3L:FK
M]<=E!6SL1_'5B)028SQ>NM0RPT$*!FMACH437%:A-^TOIL$=LK6?OPN6U+;,
M\8.TV\>+B3UI5I%T6?7AX/S]OTXIBKVC:[W.,=MT'($();F\*"4:OO3^807:
M<R41AU0]R4K>T4Z)=]20@MIU,VN:=5BUR5>Y'2=W$/'I!"SWCWJAV_0N:>58
M3'+3[PGQRD'=UNIDD+R@YUI9MDA. Z/J[FMK975JUFPM5[\I'&5W4[9!&59[
MO5JSZ?W6*+,WV\N;KMT<U'0M)Z9?W)SM&0Q+U*)MN%^+-O)49MNUS%97](=I
MAU,:]9&:6@]1:ZAOGS[>W>RLMI7H%14UHDJ-,)]=>.YC_-/Z;QB 0+Y]^O+7
MG\_7]-K#<Q+-MDN$Z4,FMN*%O8&5Q3M(_)'Z/(\=3]^N/GVX^/7FP]7O%U<?
M[S[<_$(,^]%X\B,#'CN1.30%H+=D3KDCH(-GD/!7_=1F_\![&ZXL\=,9>9.)
MF]_>9^.&R_4B,'/W]?H/R_D>SS*U_*5M/"$8;<NA%Q-L3I9)9BL,&&3N(9__
M!'Q[EB+J1P$-"QD)>[9Q-.,3ZU_&[=W27^\14\1:G*%HO$;9XV#K/F,OY#/&
M3;%*DG<BMMIXYEA\_,ZZ9'+M@@DVDI1<.9H2%K. E8YR_ DS]91(T!-6)/>"
M*;*9QYV?/+E /..91Y9,FOM 4U/+9(=AJC3?ZV?[%!Y#RRNP]6"N8_#*!AYF
MG[[.U@\Z/ +][":$PV,W(1018,)SVG^U%A.&7T16G6I3N%=\]J":\IGK8ZV&
M8B.EQ+QHXIE8GUC>JC/JL\5==_QT!R<2)0OX=@X:+E!!U*NF/I7X%1)OK1]E
MHK"<B\?]@@J% .SU=O6%*[B9;ED5?X]+X"\M3BT1'T2>F,+IOY*:Y KM-4"[
MA+*P<?)/[N+\93-"[&6NLVQ3*%U#:4>AM&DH55S:.)26S:62)/>]I#Y%'BWB
M=IO+\H),GN(KN.!I29\'^YZJTO.D_P(-*K\SX;_6AORO/-2<HMW\FMC+(*1@
MW@28JQ'5B >.*$G:P;'/)+SPP3O2>Q?OQ4 OD;U :);DV]8M0]>KJ!PQ&&='
M_:V'NWQV0 F@MX$1L-"\/\2E' M^0;1\G=T:-O7SA#2)*[UD"%+RQN\#5RT.
M*UW6/UX?EEH6*Y&? (=9Y6H[*P+LU(L ]0K+CB@"/(@ ]7QQSS4@0&P=-RRY
M\K$BP!<38%8R7&=%@#62@$B _0H)\$1\,S?4IX9GSEGN[90^4-M=(DE(K@T_
M-V UW-=]N0(<X>/*F;Y?84-P4<7\V"N[%+[L!X*<5)B5J+BG%BPS%7;+K2FK
MJ/ P*LR9 EA+*@3K;#A4!?EK0(59=7KWU(=EIL+!$7NSGD)U_5RWEV@),?48
MOO]. \NY5\KQ :PX?+ER?$MM&\ /G/AGA HY^+ SKK#+A2+!O"28U9ES3\U8
M6A+41^J^H@8DN.6.;!^U6%H2["D2K $)CK;<DNVC$\M+@OHQ*ZLHES&._HDZ
MU#-LIA(;TX7E6'Z 38(>LL/WY&''8BKF'XMK"ZF./]IR [F/EBWP"\Q]E<*N
M'!S>T?1N&<67DU&[=3Q[3H'8M]QV[J//RTWLNM;OEE#-4Q%[#8A]R^7B/I:#
MW,3>U4;Z6!&[(G8@]BUWF/O8*+(3>V<H&[&?B$.?U;][MHZ2[+;,LXRWO9QZ
MV3%KQ11Z'VVY4>ZM%XFJC*/;@S):3"2@6,_CZ_0H=\LM])J=4J5)W2O3RE"4
M6QO*W7)INU&8KR+*[6O=OI*YBG(S*'?+7:\NB<SM:0/]F+=EAU"N' 7A,\N?
MIFLY9RT'B_I>LLJ<_%G^7%33]N7%1KFI>6?\>&_YINWZH4>SZX6.,NN%;@'6
M1I*ZQN&G$1\6.ML7>+S&1<Y*Y5_<@.XL&SUHL7H8 IX<  0@  L65;SC4AG;
MM_C<#E<;9/M+). G-L<((TD7@BSR[;;=3B7SKU9^Z*N[:^467(8K_G>TW,(<
M'T65WQVX#+ .**\"GJPD*=AJK^X'[-[OF3HJO%8;6Q2=S:B)?A<2&#^(!]*4
MX&ZQ.+'G+M@C,SIE%XI^8 1AX'I/_#'LR[!#PH^SM.J=]N"W<+,)Z8=H>3%_
MW\#<6![8,2W;XNZDX"-?X6VTP-3#L?R_Z.0\ #K8!61#^+\B2P\>\("(R#2D
MHE\!,>?8Q 2A@7\]&';(_10&'$Z/V-B>P!\"A!J#(046,RSX36.XNIY;C@&S
MSZCG87L#0(/A^S3PR?G9^[NKL]>M]4KYQZNG\?PTA5>Q2[-,K\]]0 !*/,H-
MYXD1D>6$ ,\G9 X+$,SC/9?40W3B'PQBOH].Q@@3'@79]+_&!*@D>,(O+8 H
MP!,DF^5@770X?MF;CF$_^1;K,S(#5./H?H@95SZ9A0'0)**$%9.V&%EI,/0#
M]7S@"'B%_K!\C*^('PKH8NEZ!G#)U +B]2B0@,\QC:A=VH;CX//,WTGO+>JW
M0':+#;"!8/$.%=7!C2R*8@U.DO#Q+2 O> .TB3E9NK[%&!JG=+ Y#OY!'^ 9
MI,9TNPUB6]^I;<U==XJ[$4!CT\&?6409LD4:A$E=W7R[<#TQRA,," #=(7L<
M-^"O37D+-L*ZAAK>E(%@87QG@.' C_"I$38#+]&//5W(/>S'P?7'>X)Y X!#
M:$^Q-8@[^3>7&;"B!SS$0)HED>Y1K#Y%S' 1VAPXH"_XB =>P=YUDO#E"QZ_
MQ<+M#Q80/*,O;$@B9H<% @WQ/D8 L8!Z"\M!F.&B#* AV\X4"\:]83E^@-]$
M-+LQI4.#3"3 R'N>"@@X8[GT7!!B@/]G^WN4PN;5JXVW]![Q=D.!9Y&-G],>
MQ_MHCR]5M9D"]:P:.$RI@9^H>^\9RSF X[/#3SO6B.%91;"8U:YTL>-/F*EL
M)4\.%TX(H'7LJY#N#X2]<"ZL'Q=S:PHO_R)4%KT]/+MT'1IU+_(843"A[G,R
MP:Y$&5P*)SB=D0\_J!DR<?)U-K-,ZFGD<>YBZZ*$A.;-B[C>@"_Q):)40O7#
M1PD!8A#?Y4+%SY8+XC48%X\I R>RN<#G0@J.+E J0$6"0\I:D0%H,-3'RGM,
MR!EL87CWQPZ$B0&G(!Q4ILEF0Q5P\I1ZVYBX80!CN-/0#-@IZ(0@_O"<6H8>
MG#N4G:)42#O8U&H5XK#FD@\CTT2W!R:/?3?TX)0\>M.A;;9K=?W-D)YF+IX)
M7(>88#(+B'@$*ISEV\XA!#P'(YX'*20!SNY7,L ##<-U6N1&O(/4B'TNV*%(
M)LGS+NJ^@2A\9 W46&L2@6UX$38=HH8$PA$.[#]<;!T,Y#Z-#B6+CR,V,:&P
M*79UYUD^*L%P&N/Q0[W@26-J$!SM]#^AQ?*UV&8L!]2!>PL9+M* &] &18#^
M(YA3'WZ =@#ZYG7H!Z!)>OZO3RMY?07*E\]:CV0>/;UVN8U.AJV-5B?\*^'T
M&O55LY,<HZAZ\IE:RUX]48CJ+'"2E+#>6*52.I"PU4#<=J7=P+8KJOJU*FC>
M=)2JM@.-0ZGBTL:A5+4=.%)I.V87^[^HK@+-JW"O8*Y@KF!^\C _A925^-\Q
MF^DOQ\+;%);TY-<N2V5'/&FG@FH8NIX5)YJ1,!_GF*W\Z8;-\LS^NMT=1)IP
MSU_#1+B(OZU@'KGH/_P080-7+"*!3N^,'P=&\0_;%1:_4.1W$/EEU0/*2&&7
MG_QT3>^IDI@U([].5BV@C*1R^<EO#.2G:O#5C?RRJM5DI'G+3WY=.'SE+\5:
M:X_.FAK,(YPEUW^?&[ :KLLJF[.7RGOWMR1<U],Z0R7U:T!R6<5K]E)SI2&Y
MH=:I4M(KDLM+<EDE9/92;64AN>% &_25:54#DLNJ4+*7.BL+R0UZVGA48?O!
M$W3KLBP]R=79@BJ/'8DYBZ@\IG?R997NX.'K+W+P<$\;],JLC7'BY?2D)NJL
M,BY[J=^R$+7>U<9'=3,KJJX/56^YNLNOX<M"U2-MI(A:$34CZBT7@OEM"%F(
MNMO71OUC.N>.6.+TA8[R/0-:)$FLD(C/CU&NK"2N/ZA<F=[=<A&[5W'3TBP+
M71OH9?9@4&7W:D/'6VYT]RIU6A8=]SM:9UQF$>[:TG'3J7;+C>A>94Y+BW1!
MQXZ2ODKZ9M#QEFO6O8J>ED+'O;-+'93L?N^8O=SK6P-ULU;>BZN$8#F5/[":
MRA6K?+)/81!]9V$050VDD/3(DZH!\1(&$7MX0=F'*S^JA[>$;]PI+_[0W)H/
MSZ]4,-F@MZO.PWXX4U4<RJ'SM9(E*BV\MIA\3TW6DXIT];*Q*8D<4K*G7A2K
MRE$T!(NJ L4+Y<U&L<H<12<*IUE>!?2E%'L44MQ1P+=@&"E(EP+I9FD,IY)B
MWZ\B++JW=B=D%9-9^L5US-#SX%7NT3HXMEZE<]2.HCH9%-6YT#L77;UJBAJU
MM79O)'WH?$U4JR8F?5;#,MV#A/!S"2F%L$QOJ+55Z9(Z$%'O(+E;"A'UV]IP
M6&&67*,5XA-*3CH28Q42'-SK'R3$GXL(+D;O&6GZN"M9N*^BTVKH='#0.5$*
MG8Z[VFAT3/U<WK!T6>Y?).+%8X2(E<29AX6(]8;;CY!C<U\?VY[JVJ@M6]"7
M(DTI2'.T_=0HX6#H='K:4"]3@ZE9/.)FWS+*8D%I% \XM1ZB:+]OGS[>W>R\
M6(W V&Z_B@(*4R/,9Q>>^QC_M/X;1AF2;Y^^_/7G\]>WN2,&5[/M;(@YXAU/
MHX7%W4+7_DA]GL=G^[>K3Q\N?KWY</7[Q=7'NP\WOQ##?C2>_(B+,'?+H2D
MO25SRL,D.T@R0B7XJ<W^@?<VM 7QTQEYDXF;W]YGXX9?:Q6!F;NOUW]8SO=X
MEJGE+VWC"<%H6PZ]F&"0:2:AK3!@D+F'#/]3X)KIXM>/ AH6R 0+L]PXFO&)
M]2_CA+CTUWO(=1:UB@&#& T-9.6_>V/LA7S&J"E62?).Q.QKSU31J_;:72RL
M %5S_\J9XG9!6E''M*C_3-M:=,CG;UN[45M<XWC0B(_=E/>53OFZV(Y276Q3
MF\O12_:Y):]6S!:<*(2>6.U!76P+G=G"R?\ 1L"FW5'77JO,)>1LAEKPKK^"
MJ81M:W-L=E?6[5YTFK/??7$[38:[B^ZOF,1! AB.=6.W%FN=W7>U^%X8\#MR
MS(02/V0=SW$0F]YCLUW/-2E%9<9GC57MF*0(R%O6P%TT:X4CS7*P6;WIAI[/
MY.@$.[Q3WT^T3-?@RYT=QQTWX(>N;2TLWET>7_]/:'D692,]4#]: S89AF$#
MOC87EN%AGUILQNYZ3\G%:U$S>- %?=.S)MBS%OO*IAHQ8T-WV ?V0<9&[CC
M V^E_#BGH,,&^(Y%807XV?+1$)_C4Q-V=(@^[;9E3"P U!.9&]B]%M_D:NN4
MK1.A92S@% ^(:3C8Q1G3,EP'QG@BN+D%=E%^25_UVI%OJJ?VAI;STXS]\S;=
MDSM&!0-[P/H,&][.L\%Q.6V!#F,M?"!9PE5_P#1UD$[PJP"4$4" @]BZ-RS'
M!TP'G)U"FR.'H);C^M:JR;$%Q/7HAO84</X ZR#XF(?MJHTIB"3@!SJ;(6>A
M*12T1&/P<L7Q\S@NO!#!>F;.EA FD-N,=]<.ZQ>)\ +6RX@S3\Z65(O+RTM?
M';&-'6?#57@? OV/-0+*I*Y%^P8>"M)2D_*(2')G_,#=NH$ULU9-P*]02),;
MZ@,#D7/>?]Q\BT^9E/\U??N:S-@9!N."Y@F"$T<//->VJ;?J6/YU!N-2<HZ/
M1>-L/ B#\5[R,PO= ^2)&AX*XN 19/&SFX8!!@D-$B1VGE?&6N(=WD6=]6%/
M@"F24\F=):78ZLFI]?R<T4')'_Q/"$0P>V*[-JD7@-PBOH'=T_'$"7ULIOZ#
MT!\49F8"#Q"#Q.:&/N(% (2G(SSZ'A9CN[R3^C*$;PU?#&*8)COC[^VGU&+A
M&,03SZ9L\EO#YOWD_X(Y@1HB]4 <>$ ,QA(.S!],CL)(/^]R%/6SZFR";3.Z
M:(^3'_^ PSHE.WY]^F)@=_FOL]773^SJ(?WHT]>)+72)CZZ':T>#")8.*_^3
MY6AD^Z,,P[5^61OJFXM&(XC\KQ,Q9.R=&N3U3@W ?FEM.DTYCD&JV Q"D3*%
M;>[AU ,&!31Y]]1/*S-+PYH^ ]^L&H@RP'>5RYH:[<HT/2#T;\83LUWWAV__
M[++=VBQWFH;OC"D!G&,<)J.0B'>)R3]!A68"4BC2(<,(\#<LF^M['ET 2S*)
M *,:+*.:[8'QRH-U[X*0]H$?IG3&.U2C5AOI&*U(\#*MX2XM0E;"T>7"D?Z8
M&R"UQ1B@=5*@$I!&7!R+3$BAB'H4=HL]TE%\7WW]O!K,-'QN3,!L<Y /N':F
M4/M 9I]WP^-JZ5DV0J1+U@\+OI/HQ! B-@(S.P'@\#("T-\=BB?+$NB;,@)@
M*[F:PD8L/_!@,Z!G_<87YI-;RJG[_.SJM]NSU[APR_=#U,2^18K:'S0 0+1V
MK?R+4!##Y11U<*$>DD<XC@+C.U/DV3)V#.&#">'P'%,"4MG#*:M4K=.Z2A7>
MIMMPXM/_A+"F#P](\MF.I>X>CJ6"G33/NI3&*9?2:C^$;ZALYTY.!6_E@<EC
M;!1F3V[JI!F*ZQXFGUA^2M]D1QN7;@^N_8#286(XWPFZG%'',$'J@<;Y:(%Y
M?OWY;E,)V7DL#K;4Z!I>Z-WDQS]@-C@!V5P?#9/9_#R^X?/=%]<+YA//FMY3
M_L ??USS$^]_UOCA[FE)V5MKW^<Y'V\ $OPL_#I[3R?!02=BO[49)4&BP]#=
M+>G_&<*9I7>9?=!MB>0RJ?P6!=/U&A5G5.\XT;NRL;HK4W=E\MV5E:$_ %+P
M^+ "NNB<D< *<#[QE\ 6/ < ^@S?D8[0YI/__Z?A&/<L5FZE@.--7.@S[S,J
MZU>.83_Y%JMH\A&4>;###!O!/^7:+3[#/2SLD:^@YW,?>5([J>S.JPJ?LG7Y
MWVY(_#ESRWK4X);8#(PF]Q$UAFD:P$8"P&Z(SJ,(R&8*R-X*R&X,9-0PX+%_
MAXZP&%#SP%'@2Q95R<R)U9!^%!OIKZX$3)/K-[@V,(C0[;)<"LN+VCY]9"YN
MILK *O\OMRW@^ 4E )0-/*G!QEX AU[\W]B&3=:](5$%$6Z9Q?.B<XY.<ZZ4
M+XQ9CF!CX3>+#-K= =K]P!KM(^')$YM)%M' #76$7P3-7H>!_LIQ0GB'@Z<%
M_YW!HAT3E^_&SL.KY=*VX)VOR\"E-EB1GNM8IJ]%GL3XP4>Z^1W,$G^'>XB^
M#_W5UQZSHK=- Y:TV6+OHC;K@P9H32T#K[I [[/!UN:W6H\6&./^$M2V&8XB
M@")TU,0C'L6+,NJWDL[S:GAO)06J7LG=\^R"D,2KGAB#0'>/AC>]L%WW._+?
MB@MBS#)WKN6@_0& M_SOPM?J"/]KP.XK#9\\XMD/_P5=((S<K_BR1BQ6G.J)
M./0!"#FZ,H*=(H;Q\A'9W70]#PA&PXM5$&2F@=Y<I.^(8X"\IM9LEA@!=BF<
MZ2[>//U )XK/Z<9:<$*<//$;T>T;Y<[$!/L+('$&RY9!_ 842![$!+J/T<,+
M#P:NA^'+[)?M$S*A*2RU!368MPRD0>3:Z0ROHFI>\%4(:B=RR97)[#E]W.TR
M8(-YA.)!8[B(7]4_9+SZX8<Y-YQ[FABCEQP# ,#\9J ]WC]%]\?\O#X3;GOM
MC)PMC"?\3W1QBY]-YK(,V6?0LRS36HI?T&/K3/$3/Y?XT^+#8_0A0&]NP)ZB
M]#L;Q5K@?Q+3+M&J- .?/0]@8X^Y[/K>>J#L:Q>(;0'0MTS\RZ&/^)][U[#9
MR.A#H_=L[<O(=<V6B/[\[X YMB0P ]GN?BR1!O%9VW#X_.Z_HZ\03/B) P>H
M#*B+W\;[L  ;93:GP9CVD9@>@/)7W/+$#H<0O<J$,K<*DJL;!G JXE'(CKZ
MRW[T[B&3BQN/;01<O>B11PC^3?G-],3PN4O:W\F*-E(@,*_+CU(1=$LX&8BS
M&3E,4 '_>P+86D,A.]F<:0C4]L3^6!W_ 8PX%=3P2*.+,!:.8HB[\FPM3,O6
M%;0XWH1$M+TVHT/I%,3:[6ZYQT@M$0C#1+N6ENN)>!,0J"#Y@,O)S#!!T,7T
MO1+6\#TJ(M&J(\4+F9.+. &L[8)< #4:X6")_G';$EVFJ0:>-0D#IK"PH?AJ
MN,XDM"L>P!.)^&20#C]L!%]:_)2(CM-O<$Z0SY_%W[VWS!#2KT I ^!&JXI/
M5A9V,XTB=#0!,!Q=Z)5"QV/PG[IF*(X/5!/!*F6Z-Y/U'ZX3H4>,G#8/_]]C
M'7.G<HEK\%>.W_63ST_I$P#HT,/5+5R/:L^A!14[XSL, *,9<<5*U,/YYXR#
MMH6'%UT&^+S0^1@!V : "^ 0PBX\O+$ +!$WOH-#Q/*K#8)^U!U+0KJG,U14
M$\+8M#R -3S%",*8P8IR++5BV;<>AUB*";P*0SQ-V_MO'HIE$!O,;A;V%Z6P
M 5W@,7[O,3-3<+K'#4-@N O464R0U,&CZWT7=X[3T$3A]3=>R:)B!(0+K)QX
M!ICV A;X'<MQD>NKNW]I_&H<'D'B-(3G$_86H/'%+AFGY./=W6]LU"GU83.1
M,1NB' _9ZCVF'K)3ABT>9.1B$3HBLL6/UT9 FCX8'K/<;0R@8%P<[9,=64R,
MHX'O.LA.*!0F> V\ .84Y\D"!K.Y=8H/VA0E<>@Y%]]!44(F9U$9[/*5KS@)
M'B;%^%'-RW?[3! $3TL!]0D%_*UDXPQ$!.JY >QJ$EHVDY#, <G6;H.:X(F0
M3_R86#H(-Q&HPU0(' >WR(-%V5K8S%N!^@@(7T$V7C_L>D%ID-Y#Y%'@1S<7
MPMP*-N, 4":8S?EJ)'&&,HA3 W[A!\6$A:U83,033BW:2J5DYS3N%M&WACU&
M)$C/2P]4?,_"4QE.'7;^<G-E;MW#%!>@B[!;%Y"/P$7W&U8-(\TH1&B3/C?)
M4ZS3%Q&&<)9AJ"B/P9G2!5-O##]@^'$<IOICW"G7NASW02S_*\ TFP%7J$'\
M P52.V)*'V "NX#W>!0CJ#C&/4T&\P(6E]8T CPL* X=TMBR4%\!HO&9JB,(
M6V"6G5I@,G&<,M7#!;"C&1P-QT*:Q&;2RS1=GVGW9<G5LH^0#(%ZQSR789)X
MF<(C!"(3MK9-IA[8?@Y3!5$^()N LC(!$++[BYAF0J"SJ> (<N^YC^BMG$4B
M]4(0$SP".+5,W -2A LZNX$Q)AHQ;3><,J$0LM@,I@^S6PSBNT+9CL0SL$^:
M!6+N8VJ_0V=6($(_B!,RM0M%KG/OLJ@/;B:LB Y'81+K LT-O(+ (2UGY@')
M>2$7,V*VOVX3FKJ)E[\\BIRY&-"] B3)>3<!)+%R] / (OCP/I[G)HT/K)46
M#XOP 3&F4.7])Q]UVTCZK49('E>1+"?<XVMAY%8"1EFR82O,^ N17&!R#)8A
M!))I8'U^M*W% 99814#-N?!MH,\#;]5MPV3Z'P\C=)=+A!K>] #(E@;*CQ ,
M0ZZF@AQ&D>PQ"=MKM\FGR5($"DX LBG/5P1N-C: '(PV)WN7&(<(%@5#X@K&
MF_NSG(NYBY]7L$R!7.@=JTD2D/[,H9R0KYM0%1X<'.+;UR\P]M)VGU9><('E
M< EB%"4EGS22WAO$$L\9/;%MVM4\G!T?&2(O&*RS%"2?\; 85'PG3&+72XGJ
M_J?XG=(DIP3:>,829#\,[UGZ@7?8H;A29[6TVL4T K%3IF.YCPZ[EW&Y\)Y:
M]Q;J@D+Q"QFS&3@O*#TTP,2>/UV@,Q0 Y%=J+,B');SPXTE#R_#/7S]P3>Q/
MBH-\]>Z!UTQR/:<+)G;^98 I"%9UG#1Q_N?7ZW^]?PV0F7A1H+B(+M2B=(J5
M3\C"VQ +8!1=[40N);;?Y#Z9I#'^[7H6=RCBWT*!G5M"/B64>:'2KOS6H;^Z
M/UI9'G?1*.S,3<$5YZ0LV!(HC3H^G+\8'^W"0<VNR#TJ@J-C1Q5'*,O58JN!
MF<0IRT9SP:QV&-NS<6QXBTL#[JQF-XT@>]AH$6;GX<*:PHX1Y]_%&;E@TO?"
M#X6#9J6 <LF'[X%02$LD5#3QDC'SL&+W=P&3W'Z T:VX^&#J@J2I6*0D QPK
M,7:9:Q43A^@:5P*Y4[!);\-[8)L_ .8:SV[0R!?X>>)JA%7<8MBX,ZPEM33"
M:Q]RK=U+QN8G9 K:;Y';%?!U#X>(Q\09'M/P&7 37T&G5P0F7M)T>A2+QZC;
M*?>O<E?EEFE%F!M2X?O0#H.Y1CY1%\!EL$,.YUMM-GY<6^>;)$^>@PII6_\;
MN>A EG!1@A(B$@K4?YUE,B>M4G9;E7XBP=!<,*P6@ RUXG^\KT"9R/3$-+S$
M%G \$&&^:PMFLKPIUXEP(C\RWC<$$@Z;W"SS\@F3<#NP&!.N7A6J38!B%Z]G
M$(5X/R4 S@DFQNP&L#<%WBH=$M^?A!@8/;.?A)#35N:FZX'@QB,CL8?=B$C.
M/'UFIRUR%=.<_:1%@O>Y_8 5XO@L@-Q;10CL-*@3,B_",1-W,0@Y%Z;(E;E/
MXZ.>.47<1XHHF3#M.#JODRN+4F_0[RL>9!X&/!:2,$H>0RL!R[7*)'+$(YOP
MS@0!LS/8+PL+,0JL)3*.YJ .@QD%/,2>$6([,77TH -*S^M86]ABA+3(!U3Z
M,_GDB=W3<(\.7HDB4SLB6F%%?9&K"SDJG(A]8TYM IA\H\R\6$D=GX&8WR\
M&^8-(OY\^Y4?$^-V6_^ET];[7+PFF!NPEA+)VIH\%C?*ZX(\-KU3ZX+YB-Z+
MYUJ+P#[%0_(KDS/B?@[,'&;4LT IQ^'J*Z@T@<6R.B:@1_LL2B:A%G*569Q%
M:5$FR(>12TS1R!1H(%K.%I=B2KW#\)J,&9EZ%[M0,9\GF#]Q2A V,TMIQ EX
MMIWY9.)_\-J<>83%?:M@@=BYR%=C_2]7"*,;'$WP%S,@\4\X!YBT8I<L_ P
M>"$7L,,=2)_^L 23><Q<C$T*=K:+U]GR7#BL<;()9;%O;+25KKL5/$SK8_>P
M'M@P7,_@6JR7O ]+_"!>Y*:(RZX)A88!$,3N&9B-%.<6,I>ZJ$5"SBW<D<G"
MGM #Q._D7D>[?8I"\Q(^[@7(89Z"[28&3:KO"'PC\1.&$R-:+%\$8OX&8OT!
M#PL7_;8NSR!(PLQ'("0.0R8<71@T6D<B\$W87@GCA=D6*13$$1;<U<]C1?#S
MA,;KG JI;L2.#5 OW?!^CDXO]K78WVINVYI13H PD+C6G44WS=Q0P/M[-$'A
M-$$O71"IB9@D%MTHL+!!@7R!9.#+R,T'L@[/!9Y^%>U(>13P:L#!,!\;DVS-
MD(&'Y^-Q*2)T-KPITKMZ=TS^B53^S?("0->O]L.TI:4/E_^?#(>]X4B+C414
M999S)$_A) 4R.N^,]-><BCOC_H4^:K<E,L52X?6__AZ'JZ>"^#=KS*7[A<)7
M42[82U,I=L3KEY-($47Q=]K/!<>O/E:;(_'"%(D](?[R!(DZY$<\B_3GTA>*
MKZN51STLNIY%_.]H([GJ@A<C?S>Y?&^Q<C_,N+JZ]V@49PZK90?7?X=S.)/2
M4=6@F,<W&^>WZ#6;&]9KP 2(V#^"Z0&A$>M2,;4WL;6$I*P8GA?ZMFRUKPZY
MI<N AS;I?1[:Q)05)M!6BLV4SACI/ZP4$F)$X!<A_8Z+(7'\@@:#0E&;G";0
MA4%DR-1IS\N:2T5X9KY1=VG3_\):%,L0K%R3L0ZSR<_/OMU<GW&;-#*O>><U
M]*T:PKG)#LB53;PR-9B%CG5[+M!_ZJ#ZO3*J+X15_90*0SB IEJX3 $H[^QU
M[$!!&\&,ZF2D%4B^[YMK[KAB:X]247T19\FWAN7XF!F#F^6I&Z"6P7][R2A%
M'S0R?R9&0 M#@ K?YO:5B)Y,W5E<?_R,5Z18D>/!L%MYR'9=^.W%&BF>EY9-
M$"$QV8-B9U)NT$VXFY0G$5.\BHG\ZC_K_7:<,OO7[7MFAP)$Q47>#746EC.Q
M-,)2.N",<NTI'KYBL!;YYEFH[O/1(IQ%VGN"-I*%5U:1Y7Y4%DVHZ&LK%)5O
M2.\58P>]_2H:.JXV%M5*\U>7RBF29'89CY9'N\1@@^ F@Z=5%9*(J"-&X*2]
M>V0&6'%7DBJ6X^)=!HU">8$#^1:YH6@YT;4]QRR_!>'?1.$,2XP^Q.1I=NG[
MZQ/:RG$=B:2LB"YCD].S9;$@'Y%FSN[XJ<_K=_G<C986,FDO^_;XJ92[3F/N
MM>?"?S)T^M2!7E2^L[0<^95?8X@\,U973\1:L9IZA *OA:(L83HB]NKV^J([
M:%_H[8M>_V+,?4B\'@I=^5=<KHEB/D$D.(4/0!PUO/8AK^LG//YS:G,CW6<E
MC]!EP:&72K-KX0I@&^TX-RLJ$QB="V)F-FJ"I-8G$,PE$OHPE(\=,0FH<$\*
M.\(,=B*GCN!5,<;D7^R(>C L.R[@9"T IN@:B*=EE6AX&99D$#X*&I.K"![V
M=UBD Q>%5I"Y!NY/0=4Z0#<7_L0F$U(I?BRZ/1".('PM+K88Q88DQ^2^+<XT
MW-8V5K45(U%N.5QQ$/'0N+N987D$28@"NNQ@CGZ6Q,U84M,1UCT_9)]3E#P*
M!GT<M)309;4(4&(@%CF]I@.@XRPB1D0,WX@?Y9VQ:'P>RFF8P:JX&-[8N^@_
MXNCS4ZD,J]J8T9F_%BDE7-^)] 1.^=^I;<U=(+RXVB&[DX\5,@>#]9]<X:H0
MH0M:C*35$@&J)D(42VG&VXL7/PF?@!V9\,5'1%P$7A>DZLDA_Z8"*W>B 7"Z
M\M5J,5YAD2)?E#-D!#Y.Z+R6ZAI]X9K.=K'+&8^\3Z6PL;5QE2\2!>GB2T["
MY2C$#0R<E#8BAQDA%@F+Z8:$>,;Q<\3Z+F5?+S#+4.6Z;X2'1HGMK'< #,LN
M0;+RT'?G6O,C)I;YHFHMN^^ GU!7$?>A/ GU@:+WFK^,EDKT^CGC33?TX6W8
M)>4)*ZL1_->_5$NQ:;<Q!QKWI/WC#"L P:DE&CG$?_L83AG]S7U7P-S,V9/M
MW=S/0[A>+O5'Y-EZQ]M"")_1JGU0=F.@E3_L\-;N8A>=T:MTGXJB!M:WCQNW
MY!X\[WQ]22^3&%&OMO=#.L#:3:Q5+#7E&L)Z(1-@6!8K!*_/?9%SQD5(LH-W
M";!6.%0X/&4<WEH_4AA4"%0(W O0O&]380?S?JZ5U"%=5AGRK)Y_#2+F?&TQ
M*Z5Y=# AC1/XW&UK1R#YS-:6S1=D"O<*]PKW"O<*][EPKW0?Q0=E\P'>J4E!
M_ KAI2&\HQ!^6@A7''YB")>#P_?39S*BIQ&FG79/(YWN"/ZOWW]=^%7,X8V_
M\V@W-_PV3\,$\%VH.+@U^C-L=GC+]8SNZC_OGF3P*GTQR/(-BIBWIVL#O5_&
M#H\#RVK'/1I:]'8;6ZL='RO'")R%85\IACQPWGY'ZXS'BB$50RJ&E((AQSUM
MT%,GI&)(Q9!R,*0.1DN_5PKN%4>>,D<68V+W^\RZKJ6)?2T*5MR[&"2+]:3J
M);7R.90JY9O<:^QVM:$^+!Q$F9ZGVHO"1F%^I)<A5S,I0:D_S2.G7E<;#'4E
M2$X/\Z-NJP1#5@F2$R&GX5#KM[M*D)P>YD$C*<%%K03)J9#30!N-1DJ0G"#F
MNZWB-5'9!(D*U?CDN3XKAS&S:A:JL4;(72#DJ1NR9@G2<MOV10ZUT?CX<K;;
M2#E;<]3KXTJ<2%VELC64H$;:H*-DR4FB7A]4XD=2LJ2Q!#74]%Y'"9.3Q/VH
M$A-0"9/&$M10&_25,#E-W \J<4R7*TQ47)(HHH@='WF3&#]W+M9!B=MY<N,Z
M9P7,M[U>T0Z@%M("8+]$\:*AJ.98FV/0D'THSFD IFHUA^(<Q3G28*I6<RC.
M49PC#:9J-4=UG*-B"VZVM'^OE0NNXM2MD390"7728:73;A5_P:HR7*7$]4CK
M'N$V77'@RX"E]\MP)RL.E +70TT?#A0+RH:64JZ'%0M*@>NA-M)[B@6E0XNJ
MZ]"L^]-;PZ91)UCL/VDY]TI.[6&8:9V!*M$F&U;Z902E*D5!!E1W-'V@] 39
ML-)3FOK)H%KKCY6M+!U6E+?J9%"M#3O%QS@K!GPI S9*!567RY^H0SW#YDW%
MIPO+L?P (X\?:*V$5:-J1N@=;=PO7OM7U4*DQWQ7/X%J(8J<2A,DNM;N%G]@
M*T$B/>8[2I H<BJ0G/I:OWW\C%,E2.3#?#7YIDJ0-)2<.EI'F38GB7F]57PE
M7=D$B0J\N',#PR;N7NGKBO&.RGA=;3101:Q/$//]X0F(7$5.Y9W@6K^C^O.<
M(.9[>JN$JU@E2$Z%G(9:9ZB,P%/$_%AYDQ0Y%4=./6TX+CYS0PD2^3'?*2-S
MO!'>I#I')_V!735FGKN(/$JNHSQ)E3'=N=[7QH/J&NR]5EBO NO=4:N$5)1R
M9>UKI;55*$8ZVFA<G1V@Q$@E6._T6L4[#Y48.5V"ZK8UO5N=7U*)D6JPKC?/
M\E-BI,IS:0ABI#J24F*D&JP/*ND66+(84?%(7X,Y]8CEF.Z"DG,1C?1:-=-8
MC:[*,]=_#E787'&.-)BJU1R*<Q3G2(.I6LVA.$=QCC28JM4<JIE&=?;@9R>@
M'O4#81+6RN]6<>V?;@G7-W4+JJH8)6U5D/!44-TM!=.*^Q3W*51OXF"HFD?)
MAA+%?2>#ZKZJ12\;2AK&?>JB-#:,Q1VIDD_YJ?2\H^G#4@KCUB9:I&J,],O(
M6%8!87(@6]=Z[5)Z2RKVRRL0RXCU5NPG![)[6E<O1=HJ]LN+D58IO4N.QGX1
M]!03[J&"CO12G%2*"4_T#%27Q\E@8HTX-*B5A&I4 +^NZ0-5B^P$$7\*A3\4
M-95%3>?ZJ+HTH-IH4LU">;MY55%KYK!H%#V!)M)3/79.$?&J**JBIN*.I4%'
ME<0Y,92WRW#35JV)J- *T1,C,Q.]?FZDJMVJXV$ID4>U$8E5XZ-3ACFE+"<Y
MD*UK_7XIMQJ*_7)BI%M&'1O%?I(@6VN/%?M)A1%U^IT0LK5N&=<%BOWV8+]F
MA?FJ& M6\G]"9ZY'(V,Y,'ZH!I)5WI$.M'&W.D]5;81AL[#>:ZMZW8J@BA0C
M/:W75V+DQ+#>&9[")8<BJ-((JMO5.NJJ].2PWB\CX5R)D=,AJ+;6UU79_Q/#
M>F?<O* M%7*15<TB\AS5LIY%LYA.2=D30WC[%'JKY-G67J5[#Z2M_<H#%TUG
M+UC*H0260=NBRK7>.R[P5%"^]+*G@:)'68E*=5$(5ZJ+4EV4ZJ)4E^;*G@:*
M'A7?M.&9^D(#8KM^S>*9GJ7J+E#UU TG-ETGZY^EX+KMZV/A3;U>!:S7K;>B
MMQVD$DG;'7BO*,"I*Y^NI^3*4>1*5?%.2JY4BO>*(IZ47#D1N8(!4&7T8E-R
M13*\5Q,"I>3*J<B5JB*BE%RI5E^I)B:J9+F2\#S!QXD[?6(_P&<#@,(_Y^O
MK/'M:\2GGC5;7UIB&0FT(AP2!+'D\TVM!V+:AN__X^S;IU]_/UL'>[O]*@N2
MXAM&*>PKX0%+C_?Q[B8>,$E@)L5./ZM&P3!)Y$%+#C"?77CNX\JWEO[)I+9-
MOGWZ\M>?.^?(]I!MHZ*S2SX7(1T]FO8-S!MC,/Z<_#B/O8C?KCY]N/CUYL/5
M[Q=7'^\^W/Q"#/O1>/(C9D"7G$-3.W]+YI2#L8,.<>%D_*G-_LGR/XJ?SLB;
M+)C_]CX;Y@S]!4#\[NOU'Y;S/9YC:OE+VP!06HYM.?1B8KOF][0\$90G!B7O
M##+WZ.P?9S\%KIGN:OXH(&$Y5F"AXY)C#Y]8_S+V<::_WD,TWR'7$7=&KN$G
MH!;_W1OC,B_2$Y^R7;7/\>PV>248;!U^&XQ;TJSOK,MWD\MK=[$$>/NN@_#Z
M:#F&8P+,R0WU0QL!-[E\]P:>W+FX@J78JJ-\*3,"(&[H W5"6N9.V=^6,P7R
M_*4[6%:Q]8PE_$W)/76H9P1PE'.@D& .0NI^#O^EQ#<X8[FA1Y:>.PW-P">!
M2^A_0FNY@('PVP<+Y*%/#&>*]<<>7>\[<9<XI@O?SER/C71]=?<OC5.^A?(<
MGB13(S"$>-> 8FUJN@LVS,>[N]^0GK_3P&\16"1,8#U08A ?=F/-+-/ J5TO
ML#@AX_JB]<\\& 6_"-PEC.H0,_1!28 E:FSP1QC'"2S36N*N@[D1X%>/%HA$
M$V!I,1BXH. 0WXV7CRGD/J5,T,S"(/1HB]RQ[VW;?015A)ASPP/@"'BPEZ(5
MX;">-0G9:MGRJ&'.<=WXE-@G+@(P^D"GT:0<6H .2MG"?>L'6<!0<Y]0P.*4
M_#-T* %-FW3:G2X^PM^ OSKDW')@##?TX6O8./UATB6 C'H(;^.>^J]_>48"
M[;@3?IDLRB)]ICB)H_4?9W DXA$EM+SX;W]IF/'?_#";60Z3_MGJSGXJ TDR
M""S]1W34O5NI>*F;QERQ[B3[/O+E%XW/F 3%# ;[ J@[_SC3>\\K9V5<;!>G
MXR>V(7:1TOKAL+QCK)?)<OR@W.YMV!,>V1?I9>)W<'KHO9X;SCVM!I-;8A>.
M*E'V"_+)%<:PWY!Y0AI2)\-12?\8@[V<=PI>+9!Y-!Z2>1F2I'-425*NB'@%
M2EJQ J),:E2DK4A;4M(N)"(X R\O.)WRXV/#)-_;I;SW*5=D!+5"1(6(D%[Q
M:Z:R5Y((E]+.0>]0X^S5$\1C[+56J*P[*M%%J_!8?SPJEFP,*J\6H'T%"I/'
MP62!6]X"U%<'*]GI#+ CWM<<-QD,;UAK'@#Y;&#C^%C%W\=:MU=*\X5ZY<3F
M&_=H6.ET6L5W0RVO)'_=XY&K8\=.5QOJBA]EX\=>OYP.-:_J@@^9> 9S!+M#
MU5)&(GXY'Y32E;7Z:J!51T(=5[-^CW&*U\QDJM6)7K7V-M3ZY?1758?X'L :
M#&K=YZI>2G75+*AKO7*:/"H6W$>/ULO(OJV1'EVU2-3:PQ**]B@NV4]XC6K=
M#_6%NG-#O-)W/*U''=I[G Y:IZO49MFPHK>5VGPJN!YHG6$I?AO%@?MP8*>,
MHJ9*:\[MW>QH[5XI]W/*WYP3(]V.\C?7W]^,Z>_JN,Y/C?U2A) ZJ_< 5KL<
M!Y=2EJM'=4?YEV5#24G<IQ3EO(Y,Q2&2H41O#YMU0IVD<_EK,*]92$:A36:.
MQ!VYU]C3BU>\56\AZ=&NGT!O(45-95'3<%2\QTH)$>G1KI>1V9$C54QAO"R,
MGW>/$ R:E]-K<X/0+)3WAI64@R^Y!>KI75+$_X[93'=NP&I(BV3X.JE2QVO"
M41+S;5]?3]<&)5AHW48J5R]KQ%$Y[O5V-1U@C]J(HV966H-%2[^C=<9C)5J4
M:"E;M-3'=FLP^Y_K;6TP*CYC(B__U]::JSGKGW?:K>J:6Y]T>R_5(., "U@U
MR'@)ESQ?,^UV6T>:QI514^TQ2L5D%1XUU1[CZ(.I'@*JAX \U*A(6Y&VI*2M
MNC*H]A@GB0CI%;]F*GNRE8M6[3$4'E4M_I-%I6J/T0P\*I9L#"I5>XQC8E*U
MQSAZKIAJC_&">;M#3>^H>OP'CGL\M(Q53;*3Y,?>2!N,5<52V?BQ-VB54@RC
MQD%P5?;'T,NJ1U^;^+2JZY5UNJU2:F.H5"#5'T,ZZN\-M7%''>*RH:5?[YX]
M]5*JJV;!CC;65:UMZ=!22HF1&NG158M$K:VZ,4J'%5TOQ]I4)<R.J#NK_AA[
MTR.HS5U545$VK(S*R Q36K,,J$9'6D]IS?*A16G-,N'CO*L-VJ6HS<K?G!<C
M>JTO3)6_F8VN^F/L:;ZK"OVRH43UQS@95.OJCD<ZG*@&&5*AXWQ0R@FEU.2<
MZ.CW:MUY^:5J<D-<RZH[1K45SH]B_:O2]O(COHQK.=4?XU2H2>L,BW?K*C$B
M/^(K+)U?&\.E41CO=I6^<()H[PR:UR1#752H'AEUJ&0][FF#GNJ1<9C4K7DU
M:]4CHWJ*:K!HT=L]K=\[ONFF9(N4R%=-,DZ<_\_'VFA<G6I1F\NNAG'^^;B2
MSJ:J1<:QYTLVO^@.&%S>81&IK:;L3S/V#]I^<TJFU/2HX5-B.<3C5B"9AA[@
MD 3P<S#W*"6& \2RK:D"P4J5?,^/A@^PQMDOEYX%BX:MDLD3L:GOPTP+'&?F
MN0MB$*Q[!/3S;]<C9N@#K5"/3,( " AL:L.&]]S9S*<!ONX'G@OK$0/ 0J>8
MV<VK89&EYTY#,R"^ ;,0F-+'M?-9'!?O&M>F:56.G\H7\#<E<^.!D@F]#QT2
MN# F$@"GA"EA,L4'=O>(&WJDUVY_R@*YSZ'L ]5XADUL6 *-H>RWR*]\, <'
MHJ;A1R_@F/%C&GFDA/Y84D#A:@41K< * (- G?&40)!N>#]GQ ET"%3"Z*]%
M_L:_8744*02V9! _7"Z!CHQ[(.$%_$8>K6!._K1,S_7=68#[GE(?X 3[\@)#
MT)78X[WK3GU&^)/0LJ>KX<PY/@GOP@K#F6$&H4<U8O@^78"(0?38-F>8N;5D
MR^1#P1OP!^S>@U^)$09SUP/T3<DR]&!,1K4PM14\M0@RIN58R AP:G@+W"6.
MM-J*!;"T (-/U !,L8W!D$ H@64"'SOT$5X-'<9X.(+E& ',!4_;%K# *1-_
M7NGXD1.?$($IT2=D7$H",IRS"J$YQ]<8(P0N$ EU5@P!V%MZ0/(.XFLT:NFO
MV,BC(7X".L"7A*#6X(./G .48 /91"O>$-6EK7?<;@WB]8Z?6^_?*(& 'A\0
MR$9 IO"]YUNS)^2%I)0@$W9"^<3T+.9QC673+$3^ ]XT32!UH ^0(:#[P*@&
M?@#A XP+BH--G' Q@9%@1=_I4V+Y"^,[D!J.94PL&]@/.3626-'XL.[0#O ,
M6U)&3"1<PMB,)TTS] SS*>+1E;![Q/=,BFS*Y!YP/.PB-3N#@0FHLO#<A8GA
MV'1QC_]+"?#P"@"&^9\03K; PAT!> %'C\#S,"<'&HT/;S@LJ;'P6P+G93%:
MV8P-?&Q=7KN (H !E["^BW*: \?WA7+Z[HU5+@Q6I=%QQBKZH^VL^*YZI:E>
M:<D"NG>;I]MQNJ6I]A:Y[5K59^14$5'%=;1J,)=-K2?86[&1/4=.$X_-:U1Q
M@GA4O4YW'I]-/'Z.,9AJ JF:0,I#C8JT%6E+2MIRV]%J8.52>+E+8>5@_HT:
MJ B>*=5.=3,]MEQ7?=J:@DG5/+$QJ%1,V11,*J9L#"JE9,IC*>W/8O6%BOPA
M&$ZJAR^(M.#F[%YXW&^SRH];#V6_2>Z9<PQ]G;NA;SA37R/TATF7 5E2#Y\W
M[JG_^NC.FRIJ9DE+SYL!<(?D61;IZREDCB/U9WSQ&KI=;:CO6T7IQ;,>'][R
MS%$*&D?[5Z0_ED/QI2E0!^552T<;LO)[KZL-]F[-JOA=.G[O[IW[^.(Y]\UU
ME@Y_LO+D^5@;]_<M7?WB6?=-6Y8.G1*QXWFGLW=[95G/7SE:7TAKGWQ*9>(T
M0%.1B(V&VFA<.AO) N'&8%$?*UM$T<86O54;=!2'UQV+^D!9'W7&W_FP,U;F
M1GWQURF?_2JH7EMIN:/J<]XW;I)4GKO*<T_>7-YN*U]5\VAS%0E]T &D$"%1
M2+IT+C*5Y=[DHT!EN3<&CRK+O0%X5%GNDMS6J"QWE0HL3ZRIRG)7I*U(6U:_
M@QI8N1242^'4]3B5J-<X _0$,:FR9QN#2L643<&D8LK&H%(QY3$Q6>"6<[1=
M5XJV2B<O3#"<:#IYCG4>L0'XVZ+2QE_JE"JP[V!5;3?/+H=#K=_NEK'#X\"R
MVG&/AI:1WMHW:+=B:?GR5 K%CXCX@38:[9LTH?CQZ&CIMO;-HS]HGAJWF*Z.
M9\['6G=40G?@&G5_KIA=SO7VWBG2,IU?<J1%5ZYGOS3]^53)7Q]J>J^C#G'9
MT#(JYQ!72K4$N!YJ@[YB0>G0,BC'KJV-'EVUHM;7]RW?H!3G8_)'JQ29=6H)
MO@RA(KUW:CU$&;O?/OWZ>W:V[N9UEOB&89I]%27DIL;[>'>S\WXC,4FD_B<'
MF,\N//=Q91BD?\*\8_+MTY>__GS^#F5#U=]&+V>7?"Y".IUHVC<P;XS!^'/R
MXSRV@+Y=??IP\>O-AZO?+ZX^WGVX^848]J/QY$<7@&A;.#2U\[=D3CD8.\L?
M;XDPG'YJLW_@O0V;2OQT1MYDP?RW]]DP9^@O .)W7Z__L)SO\1Q3RU_:!H#2
M<FS+H1<3VS6_I^6!H#PQ*'EGD+E'9_\X^REPS70LY*. A.58@846&,<>/K'^
M96RLI;_>0[2Q]'2\.+F&GX!:_'=OC,N\2$]\RK8YG^/9;9)),-@Z_#88]\B"
M(IEQWQWP*SZ\L]QJZO\T8_]DWD>1*34]:OAT2B9/Y&>]W6H36*]MN8Y&7(]@
M";E7 !"/!',*_VXT,7_W!N>^C+*\"4OZR[D<8OC 5(NEX<% @;N:@@/TN7DZ
M>>?1R-*S ** !S(-:315I]WJO2*^80->(C"T^-3/ FK<ZHE%<F#Q/R(X^>M)
M\ =#*1M(><;/!YVMP!FW^NNP(88S!:#,?!J M KFL 2/PMH 5+[Q8#GW+;&,
M"CFA-JS(759+SYU9P1IMM5O#%&UI9!(&Y#[AXP+)FGBA@ZA*L6@^_I&:3V%*
M@WC4#VW&B$"'OB!'W*GO+MCYX(8>N;ZZ^Q<"<AJ:@?\\C?(U;P$_P+Z_%^Q!
M#U[!OJYLOQ^L.7SV!?BIB0:0!-;EUR7UC " 0.B/)75\"HJ,51H,5,D@53*H
M#F&K=YM:I2H:]"+_2 T3RQ0B)$&$](''JFA0DP\#532H,7A418,:@$=5-*BN
M.3!*<9)$@Y4] T[59%%,H9A",85BBJJ90B%"^3KJHV#*+L*EM*=4C8:F8-)3
MA5.:@DK%E$W!I&+*QJ!2,>4Q,:FJ&9V4HMTD9XFJ9E1-EO4-]:GAF7,6\C>%
M@]9VEPN*(KI&Z9XRU8,8:8->*5EM*O5S#V!UZET2HE[9UW*Q8W?O-M"*'8^>
M:=I7F=C2LDQ75Z4+9&.8;K..KY,L:'3+LF]0SX;OOU-,(:G5L5ZU"J=U!J4<
M&DHP[0&L_MX-XJ463 K5NQA0'_04 TJ&E9ZJ#2H3.O1V*?)0L<A>+'+"RG-#
M_-2?J$,]PV;JLS%=6([E!YB&_4!K=807<Y5W7(;)O4:]HXW[Q6L$63>/]9>!
MC<)\5R]#Z]AR!ZUL@::1DZYK[6[Q>I,2)-)COE.E(*F-3=,HE.O:6"_>CZ=X
M77[$#ULEN(\J5AI.[V8C_G?,9KIS S#3W(PB6772KIZE\BY0^=0-L?+6&IE7
M<VV;?WV=KC8:%-]T;9WMNHT4P-O!*I$$WK[(_K!50KN]3%I0=EOS)8NN]3M#
M)5E.4;+TJC'DNC4SY)K,_5JW.U#,?XK,K[?+".>L6*UX)V$[$57ZM["TJN/D
M:)UBZ=_;]8KFJO#OBP((:EB#12%"$D1(GZ.K"O\V^2A0A7\;@T=5^+<!>%2%
M?W<>GQ(?/TIQDD2#?;G<:5+9#E7C5#&%8@K%%(HI%"*J1H12,%7AWY(EO2IG
MV!1,JAJCC4&E8LJF8%(Q96-0J9CRF)A4A7]/2M%NDK-$%?ZM(&?GK2K\6WSE
MEZ&F#XL/@*U]K&O5!7E&Y11(4MDM\O'C2%?URJ3CQV&KE/+H-<X)J8YGS@?=
M4DIEO:X+<BIFEO-NJQ2-XDB'UVN5'H^CJ\*_+R+.GM8?*[U:.JR44\%?J=42
MH%H;=E1+ .FP4D[E[=KHT56K:GJGE$-*J<XY\=%I%5^*HCZJ<T.\U*KL;V7I
M_MMK-O:U?KMX?4!5\),?\X-*ZCRHLK\-):>.UE'UPT\2\WHE=>A4V=\*2\9K
MG5[Q=PN*UZ5'O-XKXPY#E?TMV3A397_K59ZO-]0ZP^,K6ZH^GXRX'Y] ?3ZY
M":K)DJ6G#<?%Q_0HR5('R=(IH[>>*OLK+P5TM-Y(J14GR?SM"DM^GW+5WZ//
M]\ZZ?(>I1EO-V)]F[)\=:221 ?CN#0YT^>Z-=2GE^E?I6Z6O,UDWN3M@Y%<4
MU(GEF!XU?#HEDR?R<[O5Y20$.[ MU]&(ZY%N:_2*?SN#OX(YA7\]2M.E>P58
MH@J^A!5TS+E(8OC$=!=+PX.! G>/*3IYIVA%;]_-5WOV^:X>J4?YIZ5G 1H
M>60:PA)< 0O7HYAGYKN.0^T+C]I&0*?\MPB, !G^Q=SRT*OASF#1@$\*K[4$
M5Q:%LBE-HVR0A;+!&LK\]5K+!R,L&U]YQC\(6WP;T9YSHLRFO@\GA#D'# "\
MEAXU+2-@T%D \D"LVSS.U@^72]L"-@T1GI9#;OZ/L5B^?4\,,[ >K !_@JU.
M8)PI>;2".;GRX4P@9NAYU#&?, V1E4HD'HQ+Z&Q&S: PC)NN'^#\CF_Y =)4
MM+I'U_M.V.D+XB3Z,MH9[,6 !>%@+J#&(TO/_3<LBPC*%<-&?P$"]7:;?)HL
M?<12^TU/_$6F1F"(9%$<8QK"UC3R_NOU[>=;(#&=F,:2U96_OKK[5_Q$8F('
M9)_X.KDO36QTA9:8MCWJAS;S"\X\=Q%OC?XGM#A(+.>!^@%^]&,JJ5 .5W#@
M9@2)K\[0D@_/U:%8Z6FX R0;!YR^*2U[<,"1'6=;2D;F/*Q2<D_(@UW+7!?J
M&<OLM(:K96[(VV<7N?.-/$OTX3^H8 -ZC2=XWPB(068@1(B-O-V26QUJM[.4
M. D5S>V1;(U5E7=56UA;\C9#4-B 23.7+3S==&1/[?EY5*S$"^<?9%Z]-=YD
M7NQINE/(O$B!/KKV?#>W_'BOY!'$R[KB!4!:/0"*E)AO0V\6V@<\:H=<FLQA
MY1<3)OMP'P#6M$X T-]#GSJ[!(UC!OH?# &H ZIYL$Q0T"EEDZ+>-HV6S$#E
M&3"AR69$]%R#SFA$JY]:J&U800@6@'$/,&6%#_(M0R.!\4,(4YQ]I:X41GT<
M+!DDV&UU,DBP!U;!]@/D)09!QED3V4[2DF ,O./0X5M)"/%M!B5&6FN.0[!L
MT5R!0OV5V2J $G=!R;G ]FL-K)>@W",V52$(9U1=NPX(92FSJM<I=NVZVV[L
MJ%K6!Z4 U;"$LD*$)(B0OL2>ZMO5Y,- ]>UJ#!Y5WZX&X%'U[=IY?$I\_"C%
M21(-]N5RITE5=ZMM42358"]'9L&K!?1$XR&"%&G7B;25O)=$WJN!3\<9(;4&
M*+MTEM+@4>U"FH))U<.G,:A43-D43"JF; PJ%5,>$Y,%;EDUUI)?T6Z2'T0U
MUJJ@*@Z,_AFQ0?U A)[5O$Q%=;U(NJ64[ZU7 GG%-95+2?A6%6/D8\52T*Y8
M43Y6K'&)E>K8136KD8U;]&&MFP&H<I,IQ3K.EZS1<5YY-PQ-'Y;2+T;U)\F)
MD7ZKE)Y*I?4G4<C>@6Q=Z[559TV9,%)2>Z#7M=&@JT;(<*#Z9TF$CWZO54KS
M;#E5YH;XHG?F0-?H^&Y60P1-'Y1P]AQRB:L0?TS$5U,K677/:B8UG>NCXHNN
MYR6GVFA1S4)YN\*V6?6Q9!J%<UWK]HHWC%3?+.D1?S[LC<OP492K,+RTKW$3
M[C*R6V<UQ51K<*^+\_&PNHX'M56Y:M[EXKQ3B=)UU#87-;N]:;1,T;5^OXIC
M7DF5BJ5*=2WY:F3*-9CS^Z,J^N)V&^ %KCOO=X>5M$0N6:5X)TGK+%5\]TAY
M4\=)PCK%XKNWVYIXJ$(V!T4/J$(V"A&'PDOZ)%Q5>K?)1X$JO=L8/*K2NPW
MHRJ]N_/XE/CX48J3)!KLR^5.D^IRJ-*[T^*0J4KO*M)6\EXR>:\&/AUGA-0:
MH.S264J#1Q44; HF597/QJ!2,653,*F8LC&H5$QY3$RJTKLGI6@WR0^B2N]6
MD%7S5I7>+:KVQ["$Q.*ZQ:">1KU/529 ,E;LEY EH%A11E:L<8Y&=>RBJTK5
MLK&+/BHCV4'60F)-R%=_JVKOOH0PSWM:5R^EUFMMDCDKQTBM15+-LK>K1G9'
M&^FE&+2*_?)B1-7>E0LANM9OJQ-*(HSTNZU2JO7+J30WQ!VMJN^6QS+[5-_M
ME<!:JOJN=(@OH]^&JKY[(M1T/NA44;]'5=^MM/IN%55;5/7=2K6%X1':9JGJ
MN](C_KPSZI1QSZ>J[Y9MF*GJNS6MEW?>U=IC52ES;SE<^VIYJOYNU135;*G2
MK:21BI(J%4N5*MQ!JOZN/"30&55WKM3;LJL[[X_*:&U9M4;Q3I+RNXP>1/'=
MJ?40U=/]]NG7W[-KZ6Y"4GS#"(5]%97+38WW\>YF9PY18I+(1$T.,)]=>.[C
MRGA-_X15@<FW3U_^^O/Y/*4-<W0;%9U=\KD(Z72C:=_ O#$&X\_)C_/82O]V
M]>G#Q:\W'ZY^O[CZ>/?AYA=BV(_&DQ_Q MJ_#DWM_"V94P[&#CJ=A''_4YO]
M ^]MV/WBIS/R)@OFO[W/ACE#?P$0O_MZ_8?E?(_GF%K^TC8 E)9C6PZ]F-BN
M^3TM3@3EB4').X/,/3K[Q]E/@6NF:[H\"DA8CA58Z"7@V,,GUK^,'0KIK_>0
MS*QX-'%GY!I^ FKQW[TQ+O,B/?$IVR_R',]NDU>"P=;AM\&X1Q84R7K8W<$R
M(Y<+_^-1PZ=3V(I'@CF%?SU*L\LF$ZRB"<2]6!H>?!VX>5[HM,@=/&6R@G\^
M!P"\3GP+=FMX. HZALP WO., '8.V)S9H1F$1F"Y#I![,&<36=':^6.&,R6F
MX<^!NVS#,:G?JARZ&V71*T2P\+8E,#QY(C^W6R,.)5B)#=#5"* =FU*_8O#\
M66_U2>JG;JO_BE##G*\1"#[M;ZNOO8M0GGV1$8SEQPLGCX9/IB'%8>8@6JA'
MC ?J&?=K%,%&MEW#B0@"7O) 4V!SLP4M ;SNU&]52R'5DN@[3 S>ZH_^:<;^
M68^R2=.0WNJF:(1UU'NE[9(@[][@M)<I^LB[$@+HSR%S,J;HY)VB)5[>)#S!
M+ 8<C$\1$>("4IYMCYK4>H UL 1E$&W4=($6_Q,:'M GRC-&?C//7;#?K^>6
M8Q X<9V  <VG2,\V$*\)_W_OPE_. G!&_'#B6U/ ]'2%"?&4:06P('C1=I?L
M61R."T48$HY@AYBAYU''?"+WL'P"1ZV/W,!6,3,>7(\=G?0'E\R<A?AGQ2#/
MT<PS_#%*\0>[\TKPQX;T.Y@[LIDCS_CY6*-PSIA9'DCKN6'/%%<4S16[*E:\
M3&_=Z*S"^,3*?9;\2ATZLP)ROO3<!X"WZ[QF&!;8"XP?U!=T]NZ-=5D6G"5I
M8[.ST(AJ::-:VB1KH-QM-[9.IYBZ9'0H264GU4Y#X5&UTU#M-$[A!#BHLU.O
MW?C.3D=6B52]MQ(2[*2M7YC/C-L_ *O(,O&%S'% Z1V]D^/Z_<6+.!^5O>U]
M ZD4+O,N@IT.>J_TS1\?Y">-5OE95/+D_UQH.DAWN:BDB-E> 4,I-VQ1SMT-
M][%JUKV_,92R(8HLHKVBOJJU^YR6;0R*P0YSZB@&04G]O+,3"7?B2=G I=G
M^S",%!Z]U((;Z*3-@1"%Z"9X<65 M!2^W7C!I9^ I?EYU7%7P^/NV/IA98I?
MV9[@(JF_I*IK^2B^@$3_(SJ")<K'*\:;=-#$>WN0#IJE-EXCJ7!SH-.V&$^2
M0I-B(>5X/8[CM2A?ZUZ!M#(&]^Z5)I)"VT$KQ 6>76*"V#5&L3M/7,*.W_J$
MSF;4#*P'IE#P0.S,#),H0CTC!4EDFSG3/;)!BMH32UMJOVJ1CYMA_[F7K)&@
MW%7G1$2TM[LH;'OG(C/-P.)N-V#-&4M$'1;3&J/T@AF=LG0"/S"",'"])_X8
MIB'HK\C2LX!+K'0J@\@!@$?PKP?#%AF)AFV[CRS##/X0XVIL8 JK-2SX36,Y
M!SRE84IGU&/Y&; VP_=IX)/SL_=W5V>OXY1%$?PNDPB042Q]=<A5>!_Z 1EK
M$8,@R7H4,./<D]^HO9R%-OGLH&4(]. C+K]Y[C0$;-W2A8696:$)^/?)E0DF
MS-GU;Y^_W>+GL]>,K*EC8"ZJP RY I:])Q:@+#9V?#[IQ+)M_N44ID%R P,U
M)K-[#PPH?!)P;@+R+?P#:<):+8W;3/ I8+DJ(D?F+\?"7-A;)*<HIY6L-JX/
MDCO_[,QL3I0W%/>%G]B^./N:;S_?7/&/T[=\?X;MNR"+[AV6/@/0L8W'EM@F
MS]U9WR@,0:S%TO4QZ9;H_5?$=+VERW,N;;#7'8.QWL)RK$6X8%N.Y[^.'[WZ
M\VZU$B;)X;DG:@ F)A0(P0$$"NDWP[2Y]]2DBPE\Z.K1CA.K>(5> ,OG# ^;
M7BW)#USS._'H,O2 @?TXYWC;H(B4&(TXFI4B'OAIX0IY@@@&V]>[?T*)8YD6
M1QOFKK/G!;;^!KAX()2$Q. IJ+!4@#3/18(_+8"SBQGK%A +[ N(#K?AAI[(
M4 H2YG2<S!OG/#,;NT5^<Q\Q2THCCS1Z#468"X9[ %"U+8HB$5.W'I%:Y\8#
MCK$V'QLK/EM94E:$FFTY3X<DLZS+@PW/V79I4_QT[ZQ+/.<\.@>X(O'^X?K^
MCN2CHV]8W<E+GN4AQ^7[B6<;%14TF_LZ\07W!?FCIS=2&O>N4[3WO<-^6U'8
M:0!V:G-IUQG5_=*N'M?8C8Q&4:EFQ\>C2AEL !Y5RJ D:57'U0Z4-E5H\DK!
M<N>X<8OE"I17Q)T=/2&S'H.]')D%KQ;0$XV'"%*D72?25O)>$GFO!BYLX'4-
M<.7-_HT:J$*>*:6P9)^$%#D4Y<KUJP705= X:_8$,>G1!^J$%9FS"I6**14F
M%5,V&)6**9N"R5?*Y7N2VGV3_#$G6ADNQSJ/F_CWA0;DW'9]A&^ST_N.U$WM
M[/)<'VCC7@F-TAJ7GW0\E/3:K1(:(->[0665'-/3>OV!XAB).*8S;)6#$,4Q
M!Z%'ZXU4"JQ$#*,/R^B+?';YJF*+JW(-]1,V]3G'9([7+#EOO>E/X!F.+S*F
MC.F_0YYZ=11M]A#W1F&]A+>Z&BID@]QK/.]KG7$57:3UXS2/5Y1P,"7HG3)4
M\VV$4+CV42XE' [W6M#&4.M7TFM>20G9*$'OM?I*2B@ID;'&#J@2[<IHXT@H
M4Y+B4$G1;9=AB.61%*=W@1#_.V8SI?/O&W&ML$Z'7:##J1MB9O\:(5;C&LJ_
MOO,.",YN%:IW]SC:55GB<3M()9*/._#>[[9*N)S:AO4:NWN;Q?OM[ECQ_JGQ
M?J_3TA7OGS;OZ^,2+HX4XTN%]':K.F&_Q21ZIUIEK8"KRG*ILERR],%2B:N2
M)*XJ[#0!.]*'Q:NB7$T^2511KL;@417E:@ >55&NNF9H*6U*DB(MLB>%GE+E
M(JD&4T6Y%&D7AU\E[R61]VK@P@9>UP!54:[*?1(G6*!"E1II"B95_9_&H%(Q
M95,PJ9BR,:A43-D43*JB7*>IW3?)'Z.*<E604_.6%^6R6??*6N?.5%@NI=LM
M)]>E1A&N51<8ZO;+"$6O=]1YE1S3UOJZJC D$\=TQN64&%(<<QAZM*%>0I2]
M8IB\<!J5D?2@*G*IBES-J)N@#?I5Y 6K6CO244(ER6*JU$X-2&.DC7H5UF&J
M-VTTBQ)4/2XE)#+7V-?T<15%!E0]+AFIX;P_DJ6^Y^G='>RLQ]6 &X4&5>7H
M#K11)6)3%>:H%N_C5A7%*U5%'JEH0.L.JJASK'B_6KP/*U&-%._+0P,=K3<L
M_E(O"^-95Q=57OLH]A^T*I3YDE?EFEH/47+2MT^__IY=9&MSL^(;ADOV551'
M*S7>Q[N;G5%YB4DB R\YP'QVX;F/*],O_1.6"R/?/GWYZ\_G(_\VC+EMB#Z[
MY',1TNE%T[Z!>6,$QI^3'^>QC?OMZM.'BU]O/ES]?G'U\>[#S2_$L!^-)S\B
M5[0>'9K:^5LRIQR,'90>PC3^J<W^@?<VK&;QTQEYDP7SW]YGPQR15P3$[[Y>
M_V$YW^,YII:_M T I>78ED,O)K9K?D]S/)LZ'I2\,\C<H[-_G/T4N&8Z6_-1
M0,)RK,!"&YMC#Y]8_S(VQ]-?[R$\654YXL[(-?P$U )&NG&9%^F)3]E>A8W$
MT.=8,W79NP&_#<;-EA.;&$]5O.L.BA4F[S#X=JM_YZ<9^R?3(0)H,SUJ^'1*
M)D_DYW:K0V ]MN4Z&G$]TFZ-7VEXPTV".85_/4K3==K>O<&I+Z-R;825W\FY
M&@Y)PP=>6RP-#T8+W#WFZ>2=1R-+SP+T )S)-*0X2[1K)#M'1)OBYY\[K7X$
M &(X4S*EJP?AQRY?<_2$Y8@W<T<!^ R8('PN_FK=MOAH4]>V#8_,0L?$IPU[
M-8B[I!X;PF]%=,?@(!?YU98E,CDB0CGG"""(%,X96X FDV +?[UXX<%,L8,G
M\DR2CR/V98CA=H;HK\2%XH6:\P*>Q$!G69"/"!V9Q7">6%J)/G[K)U!"+)_<
M4P?^M(&H\&%CN;0MDYWMH(HDAFN1*],$+0R4=/M)X\_Z/@5R0/JR+6-BV:!*
M4$9_C T<_.-Q[OK9RX.I71@%UV@X;+P->@).0A*W0^0<BS]DPK+Q!L<(X+N9
MY1B."?H+@ F^X.0Y25"N<[]KI98CV!1G)M&D ?N*_C!9#2P"H()'$W")'H#!
M8*OXT:-+UV.3 60M=]HB=PG6N3<L@#0@ QD-AX)=&:89+D*;;0(VQ@%AIJ0:
M;-Q=1/U(,G>?V#,LQ)_#P'/7!CW9CW!-Z']"*WAB&V?3VKZ;@JBY(4A;6_FS
M*,K.%:VWC2$+6T1ZNG>3RS\L@-4T@M:UL;0"H*L;ZKNA9U(_SADJ8SFE[CZ7
M7#N[O&)4ECH=-?)(R=S8+:@R@TB+DY)3\G-W_;2/3EE8;^B$3"=P/3#-D$--
M XMD Y9GGKL AK!Q5X!B('[8A'$/.BQC*9!W61O&)TW#GVOL_QE_/1@VXT$D
M&X_Z@6>9R)WL]\ %(J)5 Z@S:@U2 &I%$+K&1>+"-W<#XF).[2D[1AY=[[L
M'N.*9>@M72;+A&"QG ?8.>QZI:* = '-ASXAK7T'W01/(U@JJ"+PJA7@F3 %
M*/\-W[@@! +"7 Y<)O/A5MH&R',\>' ,?TE-%)PHKZ)EM"KCE,I9%427=7EU
M]R?Y.IO! ,X]""JK+$$E(3PR1==7A_S3<$+#>R+]B)$3FA&H$3:0K@'"_MX"
M_N7']FUTNJ)N_!$.*7)[T26/5C!G[]X"&7I<C4 F^!"I"S#FPO)]9G,\SBUS
M3AX-9IW8S"Z@@":3$2^,^J?AP>\=/5K3TG,?+$;HD>ZV#">@=H < N2R>7R#
M>UU,Z@48T.ZOEB&4D7A3*-\8QZ&2 __54'-!^36U?+ & K;$<(D_,\D'HN\>
MMDP,ELW/+ 5]%-O5+?(M]/P0CFQ\X2:$9?3T_KGQ^GSP&J3LE'KK8+DR P[F
MQ!H]!F&*D%@FA@OF5O2;@'ZLVT3J"LP!FL\T.1AH+@^6&_H@;!+C(N@8E)(3
MX+83CW.$/X_N"(43:AH R!3R(HH:,^RUJY-!F20O*1L*BN\E] <F]IDVR@GQ
M U=9WR-JK$G(D',5'<OD' F*J[?FV_AK_L7T[6O.GS?&$QP]4T 1[NS_&(OE
M6SC-?1<L!=3E4V/< JD K=ZG1DF2#J> )&<M#+1>?##!&4>B7Y<IW^LLN+*X
M0,U>,*)VS>_ YF!EP#$+[__<;K7;.EH-?(2UI;%!5ZN:&P\H&U+,Z@JQCP>O
MR20#Y^B?NRN/6!IFB;,B'EKCY+(A,M"GYX;W0N*M(-4B?RUAX"FU@1F !V!:
M@RQMP^1(@M,<%\.@$T[^#3P3^PBIM^ "$RP94+:9$2J@%F-38_P+M&?!L X8
MF^(!#@] ,0!\0@$-TZT+9/82VF"&R>< (S-@FLH4YV#^F<D**,*DXYI*!)48
MMK!@E.!@;'*C*1)^\;I2,@^_U<==(&YX"PB0N7W2>$T]OT*"$'6(30: S1W.
M0'6U4]+^B^%/C?^03[8[ ;WL3[8!+G6!(, T7L*WD?8D%+&M?H$TE3+/T9,P
M3>D/8$=F31\T%DI@+]Z)$;V],+[#V/"+(7P!CY9/N0[.W'A)ID.:V:#"S]PJ
M7J>\].G.Z&5*?9!.R#$<T3^L1;@@3KB8X IF$6UQLF 'S1;*XF,SYN#&/IF&
MC &YG."(0T+S0)OF.C$?%)')7UY8#IN=LVP$PHT5:%R[AAW8U@+4;B8)7;[C
MS84C?:-@BI9O"?2!]3(UGEKD]B!&7&<K!DNPJ(@5<!Q3#]TO[ 0V?-=A#A(X
M)ETO8%MAPE$L42Q]@U0F=&[8D=S")V)<32-=!)5^:V:MO$#K&&^1NP3&YT!/
M#I <Z$[W'&S14O!7L9R5SK(Z71 >"$24%? DP[(?PNS,UP/2P(^5,']-*F4,
MIU2"9]=TEP(_UW\C:LZDO0E3&*S YGR%_BL*4I[S1D1$G5<1<L#0]GV!K_B$
M3&!M%Z=O:M";5,8<:D)@P4,>M183T!WHYEC Y;'.'E,S_8&K9YY(Y$.'LM-J
M962D5.(5LW-:8RHRF: >X7\'(6$\^K'$  67R208B(L1TZ8&G(<K ,2*PT1X
M<S_&OM3/SC2$69]00493VX6/5V$P=SU4S#X[9DMC!CML&(OKP#Y^UMM:N]V.
MN#-63U8BS(C4KVGD2F5[FE&V>>84GK;(U92+(I0H[/A/LR<8"2BW+"X;.!0B
MH)J69X8+@ GLT=?BXR*VA@S+7DDD(Y;!*V,G016 6)\?;H 'L:>T4$R),DX)
M.8D@(2?=,+AP9Q=+.")AMH@6DFH IX'X!08M=IUC^6R&V/EKPBY@9S$HH],S
M=7 )6R\^_=#"ZV8C+DWIJ[TA^RX<:[8Q.CR#;NX@QD?"SY[<4=+]OMUJQ",1
MF=OA)@!CP"4H]6R[F<)!''UXZ%KB_@VU"V:YA?S>BQV'B&>\D4BL0XGI9]>T
MSU74E :,UP1+K2RCI$JX*7B3=@F_JT#7GVV[(-6R*WJ)D9$?>.0+RA8P1XQ[
MFK"HF-1__4N^6\>C72CR]HTE]&S<8]$;W1SS1*I%D4B5M'Q\"=4+&'9[KUY<
M>?'HEU_O)I=K[@^Z9WG- B"EO]JKW.;+)5*2[F**EQY;*0DJPB89!O_$L ^)
MD'9(6=-BD9H/D:FME(?3+%AL<.67=;/[%HZQTG"<E3Q: ;<J4BN#U/Z.5)HK
MH=)\ \)C5$>^H4JCJ$Y17?%4]XGY2[YY+IKUOJ(Q16/%T]AUTF<'=GJ%JJZB
MNQ.B.ZQ/70/)5D7]CX(,Z^HLYMTW_AIS6DMBAV6P;U92Y]'LZ:KX4FPRC3<6
M7<F;?^]?XJ40!YU<,XYRI/L62ADLMWN\;WY_P4N0$Q<G@?U>J]T=[%M05:&_
M@%T_4_.A EK 2]S1OL6=%"TT113 ,:QPK^3 V>58&PWWK:U\;%*0K$-8/:RB
M.\P^DLOL*7S&]K-3-D)R2'IJ1/X-$4 @G$2!NTQZB":V@45-MI<<X@_(;XHT
M@%TJ]4NLJ%2Z;3="2-1!O7BIC%!&BCPSUHYXE(FC9% !9"2Y@?1\=<2"5U;[
M^&95UC$)_#6P)\LZ]E591U76<2O2Y2GK6(DP$9$&UN47-Z"K9(9*"W(<+(*?
M0]5J'6P9BU43]L0:V!*2*UBO!,#*<>CC=,(NRZV?\D7^/&JO:CORKX X^Z\P
M.8BY]9!<?>I8K"8=9O=C:3S0\WH\Y_H,<>&?O=;(A!H,'1:K-^ '+,F35?<B
M?$3,&7F"AP"B 4_IC4IT\'EU7CNDIY'0L:GO$WC6MBBF="U#> J+#VKPA\@P
MQX0_OD:>MFJP\FDL!2_*[[,\GH?+LZVBTAXLK9MMA9=FP_>QN-]2Q*ZPO*WA
MH-5;U?PT9@%+TN899**(VI7MN[@>+!T2N&Q(HG?B+/3K! !O.0#9K''ZN\C&
M?;[@&J:US4*/)8IC;9&0E3]);>69'*NC$IN<,N(K+\*'R4Y84H1EHDDD*<9R
M" KD"YX[-:&V^TA8&3^>E^E3FZX*;<WP5Z!1@\2E<UAV/JL2XZ/:,TVGD6%*
M6)4DV6FW)^OY85P=BE/##DD52^N@PU9_75/E7T665_^H"64US14KR3GY;*SG
M0.Y8SZWW6H6P3C*5ZG:]BFY4E*_2,,[FW%(.CG9+N5'6<B7VJN8NR2.IR^,N
M'GXI%R,IBJB8(CJR443-PN++$*>8T,"47U$WAU7].&?U;BWG=53F>\W":'B8
M]0'7#WJ__!"KOC8:C"2[05"T4 TMG.M:M[]O=\V"U_"ZODILJ9)V)5UYB>H3
MDZXY9ZR&B<:Z1$PD!R). _4=K2T3ZI6FFD=^)G56<:N@9*DD#*7KVG TD(>C
MY,#$2> >9*ET,7)*(=T0J!]8)P*\8EWK4^4Z7-!F]71IO$C-[4B3D_MR+W_4
MW[<E<]$.NA-U*)P*?>W=[+W8=2J7\$L4[?.HV2?K&GC"I\$+NMY+YR;,O_3S
M@38>]J7BWR[CWT9K]*=*;+UJ[<0<I'9P8D1Q$6")R <K3RWU=CL5+"$JES\7
M&WC4B+7_U]Z3-C5N9?M]?H6*2MZC4\98-M"0SJ2*9IF0(0T#9))Y7U*R=(V5
MEB5'"\;SZ]]9[B9;!IL&VPVJRH)MZ:YG7T]G=<V>Z(\9*TN/B5W%_K85KDCJ
MB_?-;O/ =)BK=&A6OHM!J2$UUY'=.TO=KSL=J\.UBHWUHT*%I6+S:IHGS,5
M-LQNF7C:ID-M,55S[4!UV_9H%MU*6\;T%JKW)[9&$C((.16^ $8K8^F_<?>;
MKH[69=*4)[>"(F8I&-B3?8^ML='!$%/O#8KW;;;*+4ZIL08@Q)\89UQD /S8
M(3"XHP!CV2N!8B'A?KP4.U>E @8L>$'[IC\XMM?J8;N+60O1FX11S8[:S?<5
M"_+]M!!3[:"_:5O!ROQ6*K +"O;2B\:Z,?C*H/O).+ER?)RS=_RS]J&7[QI<
MET;=!]#<;>Y,-*#]--?+C^"YE1LPB><J5X#_7XWQ^Q,8KZ#>8'RLJ< T2KJN
MF;T!N#B!,S,0X;U30AAK OY=TPFK+SBU3,]E%W.%K[PQ1%K^RY-;5N.I3S/P
MURVOXRFDS6H:2&V1)17BG;H=ZWA7CN#+70 %^,_;,^6LTI&\=)Z_T)K74C;A
M.YY;0%%TI\J1KXC6@<'O@1?&D>JJ2YUY.>6'.@OIME78F Y;+0T\OQ_&V!H3
MT0>U[N$<'>%6C@(/">>S$@4>JD&D_]T?3B:8M-_/+U>V%[JV=K/UQJ[MF:G
M::4[=LFDR)"8=: M\^L]$CXE;ZPX24E;7%OZN,'^US;WI:&H<3@)(DIF5G*]
MU"GV- _'?X %8[(Q]]I*!< V07'YK4ZSHU_J>O%GY/-BR%WSE("@-8+N6$I/
MD]F';LL:1N/6X<TO_+Q*?5UWO%D=N5NEV(Z 4@F81F6W::@"1PFEMCP\ :7.
M-WN&8Y935@E&JJ"S)!%/OV)!IP6599B.$B^6.K(&RD4A;Q+62E<M;]J"OY60
MY7/8IVK9.QB$^8"M^&^3+O\FL!VZ<"+ "^X8F*(7G!.2R9*1"6R<$UDIR]B?
M,LRIST2F>T?_>DU=Z&DP#VTD273'C2IC8<$J#7ET=D.IVGSY^(3.2)>/8<M*
M[(-IS>HGH#1ZNG$E-JJD?L[<<)/;CY*.-1XR=@2BF_.S(\&]YK&I9],YI%\G
M^ X\,A(I8V,R&(*^:2>89\),OV)B7,YW74L3#ZDV?,H5=+8S[P@2GH"V==K-
MW;*1#%L4QR0B=),T348(:;Z'>;WYN+EZJ](:W--T:0@XS2^O" 'X@;4;N-("
M5U>@?M)4ZT$LK]+#.EA"5GW%UT+(:A2NKD;!5W(I+51(#\^3^'8+#\TY!H*H
MJU+@3PN7LI#&0W@NP H9 ?YEBEJ8SM?7Y:(6:-/+_#0<JO[;9(&DE0ZME49Z
MI42ZF4-7P^+2B'!=TVKNFE9[=4VKNJ;5S$M?SYI6*[+['O6!5#H]T!G1"8+.
MF3PM?*2.K\YB_6*V@2UWRCA@1)]3T4T+#\YVGZ2??9)^B,"1:$%.:/O82>%(
MX3Y8TOB_OO@35G#K_![&XX*XG'[R'W P0_BJV7#.\Z"IZ^24AD.K**CA(WW'
MR,S8"P7?*$\6J";("3^!]-I-&@Y#!9 #+V=?6GF!F>2FK(]8P\ ]86DJM"KH
M;6!_4[3K#H@S8PDJK&'O>,-AFMS3M]'8^:;]WHB ,Q2CR6WA5KM%&)&VF/61
MPM&\H#.)7#38"S8URXYC2>ZT4EX/[@ID_,SI"A&#,! &K,/!)*E FS/.,DQ2
MFIT$S:[@QT ^Q")CT9C442^*C+B1 [44]&LFO9FH19+>2KYRW.MO*'+DH1\.
ML7"99<%6Q;]H)+W1<("A%%*DD06][*L%Z/)8>R3C.-I>V+<J[KRH8'<L_@(7
M0@71>O(6:3:8N\ FR 0CW5SNNAL&4GJ*QTY6@"0_2M+/3><C.5;17IBDPO<R
M]&2.J*Y3")IZ:67ZP"+/9Y$::,-=Z.N%XADQF:1*;WQ84\!LW6^@P=T<#6(5
M"F:\O,L4'="YF1S@,<YZ(D7,(UM4>>P83^LVQ>."<]6CXEE8AXZH0JH\'*!8
M=W/H<[L1"E*MHO"O(@10&0-=H<Z+;]A@Q5&XC:E87&FHQSZHIJ09Q0/81GZO
MBLY9<0=(O,L4[+UEQD54\%(FJL?"%]3)O..R#5GJI=)\CP9BOCS?&X9([U)<
M;*K-:X A@4 *@/@\0$1GU"7S<%00)B"' &8\ K:$1N6&34?(NW:?2P-N-I1&
M/%A95@R1;-+;6+B-3 'X> !$(DK('>>('I: RWA(($6 J):"AG44^43AACZ+
M"1\AOP3(GR:!X0[(\FA1<1_U]@"1&W^6CU?1T^?@E0 )E+R34;!'@:4GXP*'
MX_J3RC*D>0NRR3 N\#?>FV4@5]M7*U\+4\-J%S#+8HJ(Z$E.3MZ#KA?1$6Y2
M^!#=M*W!D^K^COUG^Y.>+Q3ZDB(C2[0@#)!V9;HUOF_\2UL$#3[?>6&D"O]-
M& ,1L<1]R!YN:5PF_TG3N>XG1138O-^06.!;2&71/(6P\#'QTH#D%*_(^TD*
MYQB0,4T!#*(UO$9'@3.!A(A^G(Y9I!+2R+UGBMIN9H)Y=KG@Y\:Y7@KM7I*/
M*Y'!<D"VV,#C.<O%P&F_6W=VN!H-X!K0F6FSM$*VR\5Q)Y2!0/1(+[ZS0AL\
M$$N81)%2\)\":(QS,<P3JIB9)G'H.S?"[\>@(]V.G<UKI$%]+WRGM0-G<^-2
MCI9B[=Q1/P0R#/*4QVPD)J=$D@*I5B&^N,9+D8"T];\9W/>PZ$8P#2K=A $P
MX-41#@6K!H4:Z^].TSN+;,*(\ +;T@ -/32K4O@;<(5(Z08X HEI&)$F4.S-
M$$4D\2^B/-Q"^AJ+R$F&E.T#_*6[A0,-NL ?%:ET-D%=C%0X*I_WQC&MDD3<
MC7=L-]8G/$Q#,NZRI BG*_TX@$XPAY2SOW%W#??]]?K88OAX+E<B!E[8#1L.
MF9@]IY]$ 6JP<C!)OR])1E6U>*,D,W(X[]UC)C8J*096=,STXKHB'Z':LO,M
M'93;^E8-:#2OLAMV<K(P-GFG;"C%020QT066%50H2)([HJ,T6E(/*(R>!A4L
M>U-XPAD@<MB#VXOS:*PXM QWD,1FW4G)BRY .C(QNIM<AL@ *KD#>POQ2$%F
MBD +LY^2!)H<ZOI8\:JR1Q\#FH ,B44_]*5@!$G*M*(+R)_+*'/6\0#3B-5]
M[VP"Q4%FA% @80=>(QMZ)GP@"2RO;8;X'/I 9?UN?$($A.CTG,P3 ("0) *A
M&MZ"US+0\TD59TQG%MJ04IIY>AOFE=IZIN0H14SH$$@4CHF])LYMX0&,YL0
MV4NK*0$R<\"PU O+Q\9 #A!-7B EM<FGBXS/"Z2Y*'H$E)=6 -K=7SVCG ZC
MV>*ZU#]T?SR2%B.D:1? :VX]OCT2.^SXB.ZJ#'TS5[]L7?PR(O505X(G^>N]
ML_&+%WL<,@$L^]C(<7B$AP"UXRPD;##^,72@$4C3,R#5 8^E1V0U<[B #47V
MI< "0Q_&<4%"(&MVL7,*IP;'N?5/;97IP>SP")7?YTBG*155,AIET9D0/,/<
M&!%QLF0")*R0F=5AV K,,%U@#[W(8Q/]8ZCPNOFD,@2A^.$Q2(;J;+@/! <)
MM)T,.!0F@22C&/&EW3S8_5;'=-YXX<B+E4R<L3+&X@Q'BGH#-5*';:R@?NTU
M:02I&3:=$RUH32]!:H^ >VAE]:6L*U5_8AB!\$WPD9JJJ^RKOS9A@E-0 C'Z
M:0#<.$>'PC !>7RL7>:Y-R1%SN[V /R*[)EZ226KT%L&G:.$Q%EU4U+2"70P
M).DK63\<#MET0,9M4.V!8E%9EH:D01E3RRP98+V6$4:?P.*\2!EK?A,JV2?"
MT-N>Z &1L2SD%':IID3#O:4,$<V]^/?9\99[X #E#<0@]!N@58PP$ ZE%)!@
MXB1'.25#V]ZH#SH K##LL3XC#7NI )6'X'Z8BBTU$! PT(U6'42V\F84Z"O)
MJF5 W\[E,G(G'2S"@0 !5$@8@,/M%1%H,\"3D$VQ*47HHCX&U&1@MP0IICD8
M$^@%<*D9&GE#8+-^;ED^>5/,]D#N[84YYZ"];2WIR#)_L_C/N;,""&LRD"8'
MO(51DD:!,M22Z<S!WB($_Q-WDY+2A2\&0GZI[@A?1&1C4Z.EPNK[BJTK@Y%,
M^F/*8M7;N2V6YU'=0QGPD!,/\20ND6>%TIBO6.8<(OTS+\UXD%8J0)TQQ)2E
M:25 /R@YDU,RMAI+2791&?B&1"Z,.>P2IP][K%L/D ?ZZI8\<TM#>4L44CW$
MT/Q4N8VKVD4U.*SYLT#]NQA0;!U\J4Q/?-E_%L&M=%HC>?68,IJ(:30#XOY%
M0"YQ[O6#"T,+$;NNV43T\+! SLO;@E.*.2*4T7B"QZH4^A2HQFT<,L)[:- @
MFQ1>AK+5)UF&]VY2AM&;E=[1=T !PM2D+\2W6U%XAT8;F>"KO-V2@I/E8D01
M[FP1R?JX+A;X4!\2<<84208!-"Q#7I$)8#4.3D"RQU#YN4L9;@T)(SY*)KEW
MC[=Y43X^/2/,TP\SV!.=&$Z9AB*6RY5D3;H/68"5:IABE$J>X;/ULB1&0PA;
M6"V+D0DV4+Y%.-Y!QOXX#U53/&X ) 0V<[$@=!4,*3Z<V!A_1'C@S5OV(3LS
M6P,#4FQ84@"XC*Y4C]*N.<&96(:T?C6!2)&6*4DUO1N%GY$=DWT;O22.E1C-
M^=ME6,S[22;DLX+2KY"O=X46"M>( =3!H[."1]_7P:-U\.@+'(,",.DR>:9@
MU1>,+U^&( 8P$09_W\ :'IT-)P]SG$]^DL "S\']D(6S4S)?\'__52 /18YT
MQ_P*OHC49S2! M_FF#9B([]PD,55F'U>KM2Y<G4)$U7_FCRLOZS#"J8.2T:D
MI'!84F!38J T!>/"A+0^'TI+5.>#\_0[45$SU2+Q'#9E$AZ#Q&&SB E$E OF
M)1Y\($L<+0+9N[U/5//8#QIHO@U"0!:B/#0]W1I8/U>%L#LEA-VI0MB="H0E
M-T\2L<ATB4[I &'AK>J U \5,XV4'=>@(;L_U%$-]5$U3.I4QN$B'+!Q5:#E
MP>UX6^[NIGC'H0"[@?QDPGY.E*,?9-Z&,Q"8A%R:BD5C,R$'QJDX$2U;!P*M
M(*Q'@9)"R(2_A3'*]=($SF&& 4<I*!K#_ET[]$0&6B.Z2^D=5*Y>*$TI6=$=
MH#^H>@]HP$/]+:4H*1GRC'^",@J702%2LFX"*9@-BJ*1<V(8K^XLBU'982\T
M\2_7)T>&9*2%"D,DO:5ID;)95Z4,RSPE$CO*%%:A@C->6J>#]7R_&!2L+RNW
M6Q&#HF@9J?U)XCK0?LB&%3^*$PU3^!P.2<T4?J$YA/G>6!B27@]TYA1M[1G'
MP<)39%I-6$6GRP/B',"M9:21IN+62P.VN<GS,?C4-,&PCR/9%(3+"H:6@DOF
MCE0%WF&A&7$G&628JG&=I/LGQR&MVOZWZB31"XX.TX"A,FD=T,IEF),5\WL$
MI]D#:%1 <L' H$(PA>W$EK\UM*$HL*SO\'(L4R"2.6]^.LA4)3L40XSX0"Q2
MZ104"/.T]>("I-L)AVS(B6GI<:#^9-I$6?\R+H:"JABE&_/NB4H*Z -Y2Y#(
M267='X],7/89F@ABCGY@'$5_FKD?%CL!E5DV6'8"W*1LLM(L!W:1$?C$R61P
M>Z@.TK</TE#P5!VD$Q3:A,Q)450$9Q9P@[X C!I3JJ9#3/ZE'#)<)8,-VI)E
MPS)BH0(-\[Y%;BS!7R.NX1$TKR@+4$%)@ IF"5!,#1*?3(*!VB?%,GI9KE26
MOWA#_#"J&)9JP9H5!7BG+,I(!C.V+)!3SS<6NX U,CTN(T:G%(7M5-@';64&
M^4];*S/R4TF9N83OG+.SIG-!DO&9D<.^+!IM_IVM3&6Q#RH"Z2K2!R4_36M]
M;H76=XX/L[HG4#[[PC"^!9LHK  "9\=A:N>?$>:)6,D"RHCM=+0J8AM/2\6J
M]M @C)2."V;LZS"1!>I@R(I&3#$)LMT&VW!<G1/+=..-$8VRO=: /=J%--3S
MAPJ@/RQ!/1FS3MG-M2H+PSK#ODIF"%4TS  $ EA:XJ,-$$MV"<J@"&^QB#.F
MOR!LXN$W':PVPQ19P>UAP[$/O*&$_3GB5(TQ<=[" ]-60%D:4E8BD&5F ,<B
MJ7Z:H%92QG&ER@-JS*I<SH84Z1D)\#F)8E37C)+48R,6:,&,Z &Z(>U9&IC;
M(88YVXNP_DT7A1X!*O2Z!*>O!]97K@D(@0PP!7#P91(X:E<(-;$_MM(TAV2!
MP0@@2XV-O=E)49QG80MW.@I,1DC8B0N-4A$Z&;C=4*G&*G([T9';36>)7/8K
MON$927J'%V?22(TVPM\PBDRICC()Y*<D8O9,]3<V*<OL6D310CEV'S%4)>L[
M_PYQX<Y9%GF86D*!QOT$@2(9(;?.BFX6!J''Q>IA<8T'4@=-QB"O2J5L.8?J
MAXUW3TXF;$X,NE!&X=510ZI2_ :>\HC00&81HIEP)L)0GG5IM$<R"G&TAS,*
MYTLH5/R"-2XLK>_EGM0F&L[IS<U/' ."AY@,I$LIJ\PR5)7&I-:I3U$)<PQ!
M+YV,Z,S.0RSG["E$4*F(V9KF(G(UV]) $P'W:"#']Q X.,0>1N>R@'#I?TKA
MF[L>()JI0]&T5I5UN$6#.!4(0*OTW:.1/2LFLAC'\.5Y4H]HV3+"83%6&9B4
M7,D+05Y*BV&9[S&*IP*O#<<E7,> -W(?F^@T181X)%D 5HM(.$@L;MD+78[9
M?2J#;4B'0R0-S*,^=P#B-'JS-;MNC4K!1 $M4SG/9@$@!?!(9B-=#+OS8-M=
M0AYT\,3H](@\[>"92".VYE8.&+C&<CC)\P#%3#@P82[6G+FJC0#D_^\;K0T'
M8VIDPR_].<-Z"?)S551::<H6=0?CH!G3"LRQNT=.]H7,D^&'JJZ0<I()%'JP
M$QIG5%I(_PBN/A=-D%;T=OO#'#T?O2)/5K1*50"'2.<$P3:2"&71<BT4"HR=
M2-=%KCDS8;X$Z8PTPY03IPO%7CB@U/AV/;D@Y9+E0EDA%WW-)/_4?$4-J]\2
MP'5O^SE[R4>8%IQC[+/<GM?-A/0(5N^V.7EE,YJ>UF"[,K"E>\PQ-M!R2!I?
M@@KK#<)4R18C8 +9(_ I"QC)5V5Q81U2''CCK3S9"O!W!?@VH^&785%I2;R=
MG /'EVX-.T.6EH-:C&1E,N>?W!',9 PT&P-#(.X259B#^%I"I9R*V JR9EPP
M[W1%#%H(<5!*A)^ZZAK<UPW<2ZV^&E2P"VMCV[% H!.D 3OJ95@[QEQP!S%.
MH\"R61A0(L1G@DN1#C#L7ZB"6)PQ!_)7DH<R/2Y,&9(1P/OA4%;Y+R@KCN4H
M4)RPLE&N()UK+3!JA:DIIZ2U73T&)6 ID*YA\*N 00$2<C(6$L"L-!1;YC<1
M/@P#,B\E32)ATBF))E6:TF3B),,L#HDBO)\6LGG) *#S#L'SLQBC<SI#AW)$
M-<IK&%IW&!HFQ+*I0$XN:T5("L.E"*L8,H?',3^EG-R'Y+/%V@U/YB),>'%*
MZ0Q3'6ETT9&]]K#LUME:82&7:H7O,!Z;W"XEI/BRIET%$K*;AXQAC<=T[QEZ
M=U+2#Q+RG'*^HJK1TRA=M1'B9E8GT_;$*$M,VY<P1J]+G"M]775\L9*T+9K"
M.>"I  C_+P>>LSPDJP1@[=P*W9QS+K.,2A.27D\+4J(D65 T;,.#^9:V3$5>
M.&#C)-[)@'.2<]F";%HTI+U)PT@01D6%+40E^GEI3*;ML*=J"A>QJF\D^S8Q
M/I5'T18]U=-595AZ69;X(>&9COPKG86'NE44X?_M[.I1&N9B"V>TCTLZN8P@
M?)LD 5E,C= "_ (DCU!&:I(U]JQ'MA,-K'RIRD0$=]9X]-+H'&75A=)U!PT\
M*Z[YQ/+ZEYB6C.U'V:QT90 1S#(WSLQW6X"N/A@Y4:<-SDH;W*_3!NNTP2>G
M\;U(SXDYPFR??UZL3X4Q&;M/"Y9;2>^-YY\5T?8QG]#7WV9$1TB)^W[8!7ZI
MHZ3,%].14GL5X8$G\ODWD07&_;+DE@$_ G&_Q"Y2R]^T'7)[\OM/9Q_/;IRS
M3\<GOZ]@_LJM?YE;BKAR*>[NPQ=L888SJT+AGK T=),\3P8?>!=;_.E["@5U
MW.&]EA ^J$4WWW];UM.7%9 (M_"IP% ;?0<S+ K5&^3U[S3=I2Q? <T$O5*D
M]BD;F/.&]G>:!\O;XK%IBU>UJPECU^-[1;-7>:,/06&[Z7[W="!XT'CVI'6I
ML]>R9S_/A]]O;X]&HV8F_.9M<K=]F/I]U JW17#KI=L8#K3MNKO[KKNS#4.Y
M;FMG;_>@W0;RL+.[MYT/VNWV[G['#=P_Q'U[RVWV\X&F)%LPZA;<"Q8[_5XR
MSP\3+4[IW@+,<R5AZGN.HD(I^H.S\:/QIJI(I6M/=C/4/DA*XT6(4:7G06_^
M*+ .%Q# ,.MS7-5/">C7_\3_7*/+% MX!0,0F[,\Y=B)*W$K_6(WND2\RJ]1
MW;CF7WA%;?F&P^'KG ]7%9K7Y6I'*M9HS@B]AG-(KHU@(MP-D.8L]ILTY-/"
MX7H4ZPOK55P=(%I9'/&X\.SB?/'#^9)C/9)%BB:BG_<Q^)F6J\TPU[HV-]=E
M4\%75'59QBY7A4B^,PUNO1^71RT6P??ETHNID5_X)%; O3M$JM>=:9>TWY>X
MZ65PY2]@/D S]O;?NQW@/9W6WK;G)>$?;NLO8#&M3FLNUG,XX HKLBQX3@3Y
M"(^,+,S$3,YT?"_;,C-3ZY:".-GB/TT<.U7$T61H/IC]^33:]0E;/!'IVJ$V
MC!TD7=[SB#DK1TE+[W^-2+ETQ*L^SZ\3-CK-]NLEUZ^')+>?3)(_CB-OE"U$
M?-LU\:V)[[JBV&LBOCNO65;^JH@O&V/<W=:NV]X_V/;<W2UW][V[^X<K[G>"
MN03B(TY1OJ;8%;*, #FNH*\[#PNWSZV5_UP J6:%W-U]981U4;"L$>A)Z_PZ
MX6/GZY=L_02]2O'?-]R-Q^%D=WD>CR\GM <MMWW0:@&A/=C:V6^[?^S,36?/
MZ)(I(LRV O]"?:.9SAUHP^_C]MS?T'7GG,)^$^>C%W]N.)^4;?A01J0IXT6>
M%EDN8-ZA-^:H<EU'GWL'<R^U6\JJ7C7=+YW'*Z/[7[] O::8_;J$ZTY-_U\A
M_2>R" 2?*ERE8HA=5N+)PN.&KNXV6ZUO,29/]W:_%C'F<G)?G*"@3/\=9U.W
M>+-H]J&BV)KI.&^#KK^,"^TI\/P\+K/R[N#_SQ]/\)3-?0DF[>UWX-]VI]5J
M[^_OLKU0W+NM^=PWNMX;HM)O2?H9\*'IN([J0:AK]9]BK' Z7D"B^B7TTR1+
M>CE KN7]T<5E37TL=T^VJYJ6EO"*EHM68Z?#A;044M7XM  ^M=\X/E4"O8FL
MN4"_L7-#Z:G_XPV&'TQCY:S,>@"_!/QR[QPA^,]"TQI?OG)\Z;PB?-EQ.R#)
M,5]8 &5N*&><G%8$X0"]Y]A*5>GU5-WP0!4WG)__'$9=C%V[2KQ@ZV,J_,\&
MAL_/C]: U]#&V-=58\^3L&?G-6%/QSUX'NFM;3HL'5-C"D8'6:IN$11Z5(0C
M$&YS>=/.NJ"46D^-4D] J=TWCE+/+\#]/%N :Z]>@*LQYFLS:';<IOM=;=)\
M69.FN/]CM[/W?J\SE\M?A[O*?(=937[L.D6EYB#84:3!'45V-CVKHPA^XKY6
M03*DDJC6$->RATFGU59UQ*Z]%*1>D6U=W$=B3&/#+W /[=KU4V/ &W/] *5L
MUY1R291RYPLHY73+LYI2UI1RS3'@55'*=BU3+HU2[BY.*6U:YNX[OS:OFT=-
MH(*[K<:#].Z@M?<XO:,TV2?TI:SI9 W_;XQ.NBVW>?;INB:5+[/F,RKVY?S^
M\>K<.8NSG'HF:V,VMU61WP:)7Y ]+4A@=JRSYPV'V*-+5FBD]'Y/!AI@"Y;3
M$&NW"-\KL+E'GO$LN7?++9PQ$B$(I/U,CV&6H^9[K"S[*DQD7R,TO1)C'!*$
MZZ.?:H+P\@3AQKM/XF0P!B$E%S'9KZ_]OAAXSG&-FS5N5N/FT>%YC9LKP<TC
M+_(+KMKO8&G/+KK/7A)3Z]RS5P9@KRL/#:G1\<EI38U60HV.9<O+FAC5\%43
M(R)&YX<?:V*T$F)T[G5%5-.A&K1J.@1TZ/+JI*9#*Z%#EYPS6>MH-835Y(C)
MT4Y-BEYFS4<)K,*Y]&YGN68VN?V'K.1A4RY96 /[;''E:1,K[;Y[4ALVTUEG
MLCN&:9OC+M0VQ^J!\^UD5Q[5CJ,SS*GM'?VA&^V\_-%_-ZLN_3S_-;5;X>RQ
MQ1F<?Q=[6?6PW9DO5*PZX!'5>PTP##V,;Y?8J>*[A3=X2I'RN!OT]CW6@.6Y
M>^/5W;+F[I9UH*:MNV75W;+6HUO6<EHGV;UH9/.D++PUC9/X0ZEITO79/SX=
MWOQZ=7*]+OUR7ISR7T[T?98=S4TK\W(:5"F0&'YV#SH[#?FBRK1R^AY6@XG&
M#D6*8./7$#NI4[853-,5U'42?@"="<-(NJ+O13WDB3@0]5;@!VCD5!0QO$4#
M N_O)REV@%PB<RS)BCCCJVAB9$38W=8ZZI5:"&\_+H0O:0>$IH>7E^=G)\?.
MQ>7-Q<GYR='-U<6GLZ/KAI3U/ATUGZVKSSI?SV.K[BQ) WT&Z\1>L_/UJOHK
M@PY0.X'E'Q:W19:K^B5K#BD?Q]^_6 ^Q)4+1=K;M7-^<G!Y^<GYN.K_\>G7U
MGZ\/H&KR\J2EEG2&#/3B:,OWAMDC/3!ST?-B I8B3<<UL*S3,E?%BV9DI-3
ML4[+7!5P_!#^N#E,0X",(8!&3P-)8J4TF=\]WT\*+APJ'WCWPW;XD P\TZQ<
MN;-)(XBUDX5UMX7MDPO9.RHFM&Q/YX?7-UO&M#;3UKAN-L1.:T%S$OP)2A!>
M\-]^V.[G@^C'O_T_4$L#!!0    ( '.$ U?$#[D^RP<  $ R   -    97A?
M-3,V-S8S+FAT;>U;85/;N!;]W/X*/7:V"S,)(5#:3A(RP[8L,*^E+.5]?J/8
M<JRI++F2G)#]]7NNY) T27?I:Q^A;#I,$\M7TI5TSSU'LM/+?:'ZO5SPM/_T
M2<]+KT1?W/SW\.#%RQ<'N[C;:\5"W/U7L\E.A1:6>Y&RP81=YY5.A7UC"L$N
MC?5<L29[V=K'W][^ 7O5>?Z\<WC(+M^Q9K/?*X3G+,FY=<(?;54^:[[:JDLU
M+\315F9LP7TS%5XD7AJ]Q1*CO="P]D*),C=:'&FSU7_::T6/>P.33ICS$Q6J
M:]_,>"'5I,.>?:J,[U[+0CAV(<;LRA1<Q\(&"\4-YH2569>%>D[^(3JLO5?Z
M+BMYFDH][+ ]J=G>;EOJ+DLJZXSM,%YYTR4/RN_>;<'M4&KT2A=>W/@F5W*(
M BN'N4>GO4'_Y":7 ^G907NWW6L-^L_TP)7=7JOL/[U7EQ*LBK#P*3JP=C<P
M-:^%]3*3":?0N=O<_++@SB\+GLP<"7[4;M#7.2>^>BJ^2Z]*9!02YPWV.I=Y
M\\Q)KH=L^SHW1>F,WF%OI6Y@?FA.)LSGW'?NRZ<5\^#Y0 DV,!;9XFAK#\ 6
M2M4PN[UV)4^FU[6+8YGZG*)@[^=ZX242CO84"C<$PR=/GR!KV:G]B,:;<#6-
M#V_*8$5&Z4*C!R]*/[WY?Y^3]FZ8">JKY=.I1_?4^3G+^4@P*T92C)&Y?2X=
M^[WB%G&K)NQ*E,C=S&CV&Q(P)KOY.S,9.RY+)6']OO0&V3?QUFB9P(%SG>QV
M%X>#3TO+@4]:Z^\;:,V!\=X4G;D2&EHG+&%=$)+DO 76?N5\S(=1LPZ"3<@N
M1\W^.D/V5^X0>@C)8L(^:C-6(AV*1HQ<&^,U->A,&Q]$ @=3<SUAE?:V$O .
M$J7 K%,@<_ '(EU"G60\09%EI@"'>A/ME@RT2(1SW$[(I. ?!?J=:].A+(4S
MZ%)1T%$?9)!(FU0%S#2JLZ",V#B72<Y<1?_-ZH^%%74C-(!".@4Y@T!B8^ES
M#-"5P!OU3NV6<,VD&"9")>JNN6G8 /'1 _'@00)1L$QJA#JA9A;:#: 0YKAM
MY^Y+':4]A!F^)ZI*T2;@,Q?'#4!/$AN5B'X"+@%:J1DR:U"XA:X!_E12PPVR
MJ!0, $=3TB8%I2[XDW"7LTR9L9MBU8JA=-YR=,1#870<;C;F,.>FWBRYNX'=
MHX?=\W7"[OJS&'WVTZO]]LNNJX%5JWKB"Y-AQX,B"MYSQJT(.$'<2UH]A#,3
MCE92NIS,R:P 5Q)?TG4J7:*,JU"/6-0:%0%36I.(%,6.;0,?J0#@(@9.;K"#
MUT/!CD%05Y6"1?N -]N'VV(G5&T?IO$J7DK:'.D(5&J?$8O-X3?"B7RY<T?9
M9QUEZ(C&N8AJ6)#J[=PK4!_%CFCJYRSHUPE#OK-&&+X1#E<(R*#@_AXM#1*7
M":_<W:N0RAL(1'[=4]2-IL(*5F"AD72!W& E=&B']O(S6IRG5BL4#U"JA>,,
M#HV:=NFF!$7"%V>43,-!GJL&3J:26TD#D%'>!K+7U%+E2'*&S.."/@U,:)R
M0Q[42Y5*3E%6*4X,CF$%)V;2%36B$)[7[_@V$&0(CD5]D3X,3GVY_ZV<VG[U
M W+JPP+]X.& _LX$MH3]NU/?G5, TL9(IH1L[HP.T<0=L@)M.0GNW*93Z"$9
M2#Z02OH)Z=M5W5(B"B@- (PYQ&0Q$E:)^Z@G;NI1E94MD05<4.I)@J .7H0=
M[# \)5!(!K@C2LHR9(+=>00\LI$L0>D;R&\@7Z,N62?D3T9<58$,"0\BR^@!
MU A![%;L&&_5^!W(/5ZNWD,&A*,BB-G%K>K 5/[+'MQ%?O!;:T'[\.SO#Y#8
M8+K##TE+Q)F /UUJ?(//#3XC1-*U4G(,_64(T9EOO4\,=U;B]"N(F+2U29+*
M$E#FA.R*5@OC/,KI\1_:<EA;]BD^4V';7ZB2 ?%@QP7KVO$$. S'U722K:M;
MOW:B5SEWMZJ?>#5D")$&U1'FHU8$$Z;D1Z'JL^L%^\8W3]']9X5'L:>^'Y@<
M_GA'5N')9#J%=V/&1D2.\Q";$1.!Y"M4^=)F^-8UC@VQ-];="N%0@":+0GHO
MQ%]0_\! :M/]5,*_T,@V@ BF=<3D^*1M^31[B$^5A/LA4U0ZO-OB=C8G4S\X
M(Z[U9.I886>&Z_#&"^**3DX3*1#]M>J\/2$:"_Z19&3<J04A&3::X3GH]#G)
M5V&J/LR)I\TK:(>GJ.C$+>M\$7_U]A15 "($7"-J64<S4A48/^8B#*9F^Y5/
ME#8Z=8/*AW)T= PYFEG02 ,8$8'Y@++PC+^&8R.J.:E'1HT$23K-A_6K"K8F
M2U&4RDP$[HYS$QF2?P9V@/.[Z-TEN?! *.A1]OD&$=!AQ]6P@J@Y:#!Z17:M
M+R=^6TH)&64^H>QUO\'[62):S"$+"8GR471YFH7#@PS6+F_83WOA7[<;/3R$
M@_>5=5JNQ5Z?G9\USSZ<'U^<LNWKL_?O+C^\O]AA;\\O5F6DOQC?_;L_%Q?+
MV>!_6I5U+\@_?#'NW^M+"U5)B2 (MM>Y%!D[N1%)1<>8['W<]/W8<[]N6DSE
MB"6*.W>T]?;XPW7S\OCTI/GKU<GQO^D'"7-W+T]_N[Y:*,NSIC7CY4)*\NSR
M].(_[V:CAP7]QF+%![QHT6\N^KU6^.7(GU!+ P04    " !SA -7+$TJY*X'
M   ,,@  #0   &5X7S4S-C<V-"YH=&WM6VUS$S<0_@R_0DVG%&;L.$X(,+;C
M&;<$AK;0-*0?^JDCW^E\*CKID'1VW%_?9Z7S"[9I0Z%VH&8RV">MI)6TSSZ[
MTKF7^T+U>[G@:?_NG9Z77HF^N/[]].31XT</#U';:\5"U'[5;++G0@O+O4C9
M<,JN\DJGPCXUA6 7QGJN6),];AWC[^CXA#WI/#SMM$_8Q4O6;/9[A?"<)3FW
M3OBS@\IGS2<'=:GFA3@[R(PMN&^FPHO$2Z,/6&*T%QK27BA1YD:+,VT.^G=[
MK:AQ;VC2*7-^JD)S[9L9+Z2:=MB]MY7QW2M9",=>B0F[- 77L;#!0G&#.6%E
MUF6AG9-_B@YK'Y6^RTJ>IE*/.NQ(:G9TV):ZRY+*.F,[C%?>=$F#\I,/6W [
MDAJCTH,7U[[)E1RAP,I1[C%H;]@_O\[E4'IVTCX\[K6&_7MZZ,INKU7V[[Y'
MI6]7E/EV18^%&D&+6@GZNJ2"$ADI$$?;TI@)-E[8..WOA?4RDPDGL]CBO.<Z
M;'7F]6J_:+#77F1<LQ\.V<O*VFF#)6$AILSGW'=VN.V>#Y5@0V,!_[.#(R!5
M*%7C9O[L2I[,GFL5)S+U.1G\T3>UC4MX$.W)ZJ\)5W?NWH$;LC/Y,<TWX6H&
M!6_*($5"Z4JG)X]*/ZO\S]>D?1A6@L9J^72FT98&?\%R/A;,BK$4$[ABGTO'
M?JFXA;&J*;L4)9PQ,YH]@T?%8C=_829C@[)4$M(_E][ G2;>&BT3*/!")X?=
MU>G@T])VX)/V^M,:6G-HO#=%9ZF$IM8)6U@7!*^W+(&]W[@>RV;4K(U@;[+K
M5G.\2Y/]CCN8'DRRF+(WVDR42$>B$2W71GM-#0;3Q@?6YZ!>KJ>LTMY6 MHA
MYBBPZF3('%0)2Y<(-S*>H,@R4X 4O8ER:P):),(Y;J<D4O W N,N]>E0ED(9
M#*G(Z&@,$DBD3:H"8AK-60AUV"272<Y<1?\MVD^$%74G-(%".H7X!(;$)M+G
MF* K@3<:G?HMH9I),4V82@RDEI9A#\0O'H@GMQ*(@F52P]0)-0O3;@"%$$>U
M7:J7.L;JB,;P/5%5BCX!GR4[;@!ZDMBHA/43< G02BV068/"K0P-\*>2.FZ0
M1*4@ #B:DK(.E+J@3\)=SC)E)FZ&52M&TGG+,1 /A5%QJ-E8PIR;:;.F[AYV
M7SSL'NX2=E?OV.B]KY\<MQ]W70VL.JHGOC 9TAP4D?&^8-R*@!/8O:3=@SDS
MX6@GI<M)G,0*<"7Q)3VGTB7*N KMB$6M41$PI36)2%'LV'W@(Q4 7,3 ^352
M<CT2; ""NJP4)-HGO-D^O2\>A*;MTS0^Q4=)&9&.0*7^&;'8$GXCG$B7&P^4
MO3-0AH%HGJNHA@1%O9VM O6+R(AF>BZ,?I<PY ]V",.GPN$)!ADBN']&2X."
MRX17[N9-*,H;"EA^/5*,&TV%':S 0F/I KE!2NC0#^7R"UI<IE8K% ]0J@/'
M!1P:->U2I01%0A=GE$S#R9RKADZFDEM)$Y QO UDKZFGRE'(&3R/"_%I8$+C
M!!3RH%YJ5'*RLDIQ8G!,*RBQ"%W1(@;"R_$[O@T%"8)CT5ZDMX-3'Q]_+*>V
MGWR&G'J[0#^\/:"_,8&M8?_FU'=C%P"W,98I(9L[HX,U<0>O0"DGP9W;= 8]
M. /)AU))/Z7X=M.PY(@"2@, HP\Q6;2$3<%]C">NZUF5E2WA!5R(U),$1AVT
M"!GL*!S[*S@#U(B2O R)(#N/@(<WDB4H?0_Y/>1KU"6[A/SYF*LJD"'A0609
MW2B-8<1N0\8XC\9O0.[Q<7,.&1".AB!F%U/5H:G\^S6X2?C!Y]*"\O#LGP^0
MV'"6X0>G)>)*0)\N=;['YQZ?$2+I3BDYFOXZA.C,M\X30\U&G'X $5-L;9*D
ML@24I4!V0Z^%<1[E=.>'OASVEKV-=RKL_GN:9$ \V'%%NE8\ 0[#<36=9.MJ
MKM>#J%7.W3SJ)UX-'D*D(>H(ZU%'!%.FY!NAZK/K%?G&1R_1]KW"%Y%3;P<F
MIY_?D56XF4QG\&XLV(C(<1EB"V(BD'Q 5+Z6#,]5XTB(O;%N'@B' G19%-)[
M(?Z&^H<&H3;5IQ+ZA4[N XA@6D=,CD]*RV?>0[RM)-0/GJ+2X645]V!_,O69
M,^).3Z8&"ID9GL-K+K K.CE-I(#UUU'G_(1H(O@;"B-CIA8"R9!HAGO0V3W)
M!V&J/LR)I\T;:(>G:.C$G'7>B[\Z/443@ @&UXBQK*,5J0K,'VL1)E.S_<8;
MI7V<ND?E;3DZ&B <S2QHI &,B,!\0%FXXZ_AV(C1G-1CH\:"0CK-1_6K"K8F
M2U&4RDP%:B>YB0S)WP$[P/E)XMVU<&&K%/1'Y2@FV-'K<KL8\RF,H,,&U0@S
M9R<-1J^][F*^G]R_!/>R[%V.NA\QCX576G4H*]XI^N%NU'KFE</%!FN7U^SK
MH_"OVXU*GD+';7FAEFNQUU?GSP:OPMN8OUY>_K;)+?W]O+:O]I))K'N%?[LA
MN]Z+_^\^;%_Q[W,I,O9L3C4_QV3OLU_S72=EJ1RS1''GS@Y^&KR^:EX,GI\W
MO[L\'_Q(/RY8JKUX_NSJ<J4LSYK63-8+R:6SB^>O?GVYF#TDZ/<2&SZ@18M^
M/]'OM<*O0/X"4$L#!!0    ( '.$ U?TUY]Z)08  '8:   -    97A?-3,V
M-S8U+FAT;>U9;5,;-Q#^''[%UIDF,..S?38VQF\SU.4M#>" TTP_=>0[G4_M
M6;I(.L#]]=W5^0T#25H"I"^9S!BM]K2KU>ZC9^\ZL9TDO4[,6=C;>-&QPB:\
MQZ]_K=<:.XUZ"6<[Y5R(L]]Y'AQRR36S/(31%(9Q)D.N?U03#@.E+4O @YUR
M%?]7JC5HMK;KK>T:#$[ \WJ=";<,@IAIPVVWD-G(:Q9F4LDFO%N(E)XPZX7<
M\L *)0L0*&FY1&W+$Y[&2O*N5(7>1J><>]P9J7 *QDX3][BT7L0F(IFVX-7'
M3-GV4$RX@5-^!>=JPF0N+((3%\%P+:(VN.>,^(.WP*^DM@TI"T,AQRVH" F5
MDB]D&X),&Z5;P#*KVN1!^M7-3I@>"XE6:6#YM?58(L8HT&(<6S3:&?7VKV,Q
M$A9JU9+?*8]ZK^3(I.U..>UMW./2ZS5G7J_YL73#>3%S@OY<<2'A$3F06WLB
MFP$>/-?YMOM<6Q&)@%%:/.&^%SX\Z<Y=M-U88'E)VZHU4@K_ ',P8]*"56!C
M#II_S(3F$U3!Y2UFE+8Q8,Z>9PD'O\8\?WMSM 4J<NH7')-86('^[5]C'<HQ
MA[W TK2_6]LN C. =8@F0]BD!UZ];%:KE?:JLA/Y[2U4EB&M2 >"INH56J8?
MLQ3C!8T:C8:$&^ WY_;?ERY*T%<AATT4TJA?0AM^8Z?M5L!%^[&(O2,CT!QL
M#F,U28V26_!6R"(,-#>"PN%,HR:/<!^X)RLN.9Q%F!YH&FWMI6DB< ]GJ54(
M&X'52HH C^!8!J4;.^NC 2:G:YNR/&(2WI3@)--Z6IR9.A"2R4 @Q,U-Y1&0
M0FGX&04K#LXV/%N^")P%,<1<<\3,($]E/ 0;,UN<G^6(&_=<+ S\+M55PL,Q
M;SU;JMV1[Y:-\#A'2B/B=PL5!&>>)#.H7(Q-RH+Y>.;SE0AM3!A7^7X&:S-3
M"'37!*4O-E[@S:/G^I<4H( E<_2S*G5:I!2N+]I<\19OJO#3>F[R\8+Y6V;P
M:*=HR"^YH)&Y%:>>SOYPF7V4W/Y.V\"[C&DLSF0*YSQ%I  LW .\<?%DO'>$
M'2X/4S2G0LA1H,,@9)9Y=I0D*N@6ZM=^82')[^QZK;E;60HONX6=:@%$V"U@
M!KO) ^0"_G9UQV]@D57KC9W:;K-2Z+W))(=:I0A$%3IEUG.E<!4++!5+57 #
M\P$%S%JL(W2+$8 M[\$;);V^RWEM0Y0E* PP* D5WY6P\3J(&BK ):9M,H1.
MO134-\,%EJYB8IN08/V\\5=3:N,OU<W7K6)OI*Q5D]:*A H9N5:INA0YVK"J
M@Y5T7\JLUJ57K;ME_D>!!U9A]1M  2%S5DT93&R:"8D5A!R!LO@6)$1,T"C%
MFXSJH4B*+$F0FJ(:W7TXD6(]X P]'RWN1%PZ%,X(W8JHE25Y.:F4V@6<,&NW
MXJW8/&K%? N$=F;S6,('824W!CX0)U!1'DS72AE4Q/.)&5(:HG0X(30.96@<
M@4"(9(M(UCHF2^\I&*J7!,_:PP4(!OPJ%EZAIQ&H\*$> O;4<:5LC.GB,+CT
MK&SZ8;CB8&4552KM!WB_1*-U(%D+<@[#[=SK.2@;E8@0_/0:7E;<OW8[=W*[
M66I\__CX,TNSLBE#_^CXR#NZ.-X[/40Z?71V,K@X.T4Z?7QZ%S!](I/R#51+
MNT_G_VJ.W,J7+_/\+Q]/_6F/YV*X?[!WZCJ-]^?GO]P#B'\W#Y\_!?_YZ??0
M9'O^//O:.?8<>?1%G?^_-Z6>(VWN>>?Q7^5LSV%S2$UP<*,)9D'@R'/^]N@.
M_K[HH+$UUCQ!UDX<WH!4%D*.36Z(G!T;\V7[N_)2D(IKT=<B2Y\(8^:,?K8&
MKC^BGB)0&NW-/P-H'B$UE0'-$$&54[*"1.WS;^,<Z5UW9/E2LK;Z4K((ZI;J
MYU]D7L4<G]'8PH3TE@V[(4[KL,C.#(>XC3FC7@_H%D9/SWH>PAI4H]V-W4>0
M9"40%*<$'<D8^G*CSS(9'D<>CL=GV+>19J,3BDL($F9,M_!V[V+H#?8.][T?
MSO?W?J+/&"NS@\.#X?F:+(X\K:YN"XF-P^#P]/W)TAIJT)>9.W[0BS)]J>EU
MRNY[TY]02P$"% ,4    " !SA -7CJ3(0W@5  !M'0$ $0
M@ $     86%O:2TR,#(S,#8S,"YX<V102P$"% ,4    " !SA -7*H/1TN@0
M  !Y" $ %0              @ &G%0  86%O:2TR,#(S,#8S,%]C86PN>&UL
M4$L! A0#%     @ <X0#5S2M[[U,4   H6@' !4              ( !PB8
M &%A;VDM,C R,S V,S!?9&5F+GAM;%!+ 0(4 Q0    ( '.$ U>S*@I'T6P
M "H7!@ 5              "  4%W  !A86]I+3(P,C,P-C,P7VQA8BYX;6Q0
M2P$"% ,4    " !SA -7!;],@N54   +'@@ %0              @ %%Y
M86%O:2TR,#(S,#8S,%]P<F4N>&UL4$L! A0#%     @ <X0#5U.1+;PC:0$
M)+,8 !0              ( !73D! &%A;VDR,#(S,#8S,%\Q,'$N:'1M4$L!
M A0#%     @ <X0#5\0/N3[+!P  0#(   T              ( !LJ(" &5X
M7S4S-C<V,RYH=&U02P$"% ,4    " !SA -7+$TJY*X'   ,,@  #0
M        @ &HJ@( 97A?-3,V-S8T+FAT;5!+ 0(4 Q0    ( '.$ U?TUY]Z
M)08  '8:   -              "  8&R @!E>%\U,S8W-C4N:'1M4$L%!@
0   )  D /@(  -&X @    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
